瀏覽代碼

modify utility、moaTest

hegl 8 年之前
父節點
當前提交
9543ce90dc
共有 3 個文件被更改,包括 84 次插入68 次删除
  1. 63 34
      .idea/workspace.xml
  2. 17 31
      MyTest/moaTest.py
  3. 4 3
      common/utility.py

+ 63 - 34
.idea/workspace.xml

@@ -22,7 +22,7 @@
     <SUITE FILE_PATH="coverage/PythonSpace$firstpy.coverage" NAME="firstpy Coverage Results" MODIFIED="1490933877884" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
     <SUITE FILE_PATH="coverage/PythonSpace$test.coverage" NAME="test Coverage Results" MODIFIED="1491470826856" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/MyTest" />
     <SUITE FILE_PATH="coverage/PythonSpace$webdriver.coverage" NAME="test Coverage Results" MODIFIED="1491384472929" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/MyTest" />
-    <SUITE FILE_PATH="coverage/python_test$moaTest.coverage" NAME="moaTest Coverage Results" MODIFIED="1495090472645" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/MyTest" />
+    <SUITE FILE_PATH="coverage/python_test$moaTest.coverage" NAME="moaTest Coverage Results" MODIFIED="1495095690897" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/MyTest" />
     <SUITE FILE_PATH="coverage/python_test$test.coverage" NAME="test Coverage Results" MODIFIED="1491485244595" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/MyTest" />
     <SUITE FILE_PATH="coverage/python_test$Unittests_in_test.coverage" NAME="Unittests in test Coverage Results" MODIFIED="1491485646792" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/MyTest" />
     <SUITE FILE_PATH="coverage/PythonSpace$Unittests_in_test_HTMLTestRunner.coverage" NAME="Unittests in test_HTMLTestRunner Coverage Results" MODIFIED="1491376947026" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/MyTest" />
@@ -52,37 +52,34 @@
       <file leaf-file-name="moaTest.py" pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/MyTest/moaTest.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-1399">
-              <caret line="9" column="0" lean-forward="true" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
+            <state relative-caret-position="-528">
+              <caret line="45" column="29" lean-forward="false" selection-start-line="45" selection-start-column="29" selection-end-line="45" selection-end-column="29" />
               <folding>
-                <element signature="e#24#47#0" expanded="true" />
-                <element signature="e#1895#2559#0" expanded="false" />
-                <element signature="e#2616#3093#0" expanded="false" />
-                <element signature="e#3264#3340#0" expanded="false" />
+                <element signature="e#24#45#0" expanded="true" />
+                <element signature="e#2575#3052#0" expanded="false" />
+                <element signature="e#3223#3299#0" expanded="false" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="utility.py" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/common/utility.py">
+      <file leaf-file-name="HTMLTestRunner.py" pinned="false" current-in-tab="false">
+        <entry file="file://D:/Program Files (x86)/Python27/Lib/HTMLTestRunner.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1716">
-              <caret line="87" column="40" lean-forward="false" selection-start-line="87" selection-start-column="40" selection-end-line="87" selection-end-column="40" />
+            <state relative-caret-position="793">
+              <caret line="789" column="0" lean-forward="true" selection-start-line="789" selection-start-column="0" selection-end-line="789" selection-end-column="0" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="test.py" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/MyTest/test.py">
+      <file leaf-file-name="utility.py" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/common/utility.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1936">
-              <caret line="101" column="0" lean-forward="false" selection-start-line="101" selection-start-column="0" selection-end-line="101" selection-end-column="0" />
+            <state relative-caret-position="433">
+              <caret line="65" column="16" lean-forward="false" selection-start-line="65" selection-start-column="16" selection-end-line="65" selection-end-column="16" />
               <folding>
-                <element signature="e#24#33#0" expanded="true" />
-                <element signature="e#724#881#0" expanded="false" />
-                <element signature="e#1376#1407#0" expanded="false" />
+                <element signature="e#694#2063#0" expanded="false" />
               </folding>
             </state>
           </provider>
@@ -107,11 +104,16 @@
       <find>scroll</find>
       <find>position</find>
       <find>发现新的路径:</find>
-      <find>print</find>
       <find>发现新路径</find>
       <find>已经点击过的路径</find>
       <find>py_newActivity</find>
       <find>contacts_text</find>
+      <find>xpath</find>
+      <find>HTMLTestRunner</find>
+      <find>ui.activity.MainActivity</find>
+      <find>.ui.activity.MainActivity</find>
+      <find>print</find>
+      <find># o and e should be byte string because they are collected from stdout and stderr?</find>
     </findStrings>
     <replaceStrings>
       <replace>PYtest</replace>
@@ -151,6 +153,7 @@
         <option value="$PROJECT_DIR$/MyTest/test.py" />
         <option value="$PROJECT_DIR$/README.md" />
         <option value="$PROJECT_DIR$/common/utility.py" />
+        <option value="D:/Program Files (x86)/Python27/Lib/HTMLTestRunner.py" />
         <option value="$PROJECT_DIR$/MyTest/moaTest.py" />
       </list>
     </option>
@@ -186,6 +189,16 @@
       <pane id="Scope" />
       <pane id="ProjectPane">
         <subPane>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="python_test" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="External Libraries" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
+            </PATH_ELEMENT>
+          </PATH>
           <PATH>
             <PATH_ELEMENT>
               <option name="myItemId" value="python_test" />
@@ -711,7 +724,14 @@
       <option name="project" value="LOCAL" />
       <updated>1495090364275</updated>
     </task>
-    <option name="localTasksCounter" value="16" />
+    <task id="LOCAL-00016" summary="modify utility、moaTest">
+      <created>1495090570267</created>
+      <option name="number" value="00016" />
+      <option name="presentableId" value="LOCAL-00016" />
+      <option name="project" value="LOCAL" />
+      <updated>1495090570267</updated>
+    </task>
+    <option name="localTasksCounter" value="17" />
     <servers />
   </component>
   <component name="TestHistory">
@@ -770,7 +790,7 @@
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.40585774" sideWeight="0.63072914" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.40564635" sideWeight="0.63072914" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
@@ -797,7 +817,8 @@
     <MESSAGE value="update moaTest.py" />
     <MESSAGE value="update moaTest.py add py_findByName" />
     <MESSAGE value="modify utility" />
-    <option name="LAST_COMMIT_MESSAGE" value="modify utility" />
+    <MESSAGE value="modify utility、moaTest" />
+    <option name="LAST_COMMIT_MESSAGE" value="modify utility、moaTest" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -808,12 +829,11 @@
           </properties>
         </breakpoint>
       </default-breakpoints>
-      <option name="time" value="181" />
+      <option name="time" value="184" />
     </breakpoint-manager>
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/text.txt" />
     <entry file="file://E:/桌面/HTMLTestRunner.py" />
     <entry file="file://D:/Program Files (x86)/Python27/Lib/site-packages/appium/webdriver/__init__.py" />
     <entry file="file://D:/Program Files (x86)/Python27/Lib/site-packages/appium/webdriver/webelement.py" />
@@ -959,8 +979,8 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/MyTest/test.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1936">
-          <caret line="101" column="0" lean-forward="false" selection-start-line="101" selection-start-column="0" selection-end-line="101" selection-end-column="0" />
+        <state relative-caret-position="331">
+          <caret line="160" column="18" lean-forward="false" selection-start-line="160" selection-start-column="0" selection-end-line="161" selection-end-column="0" />
           <folding>
             <element signature="e#24#33#0" expanded="true" />
             <element signature="e#724#881#0" expanded="false" />
@@ -971,21 +991,30 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/common/utility.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1716">
-          <caret line="87" column="40" lean-forward="false" selection-start-line="87" selection-start-column="40" selection-end-line="87" selection-end-column="40" />
+        <state relative-caret-position="433">
+          <caret line="65" column="16" lean-forward="false" selection-start-line="65" selection-start-column="16" selection-end-line="65" selection-end-column="16" />
+          <folding>
+            <element signature="e#694#2063#0" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://D:/Program Files (x86)/Python27/Lib/HTMLTestRunner.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="793">
+          <caret line="789" column="0" lean-forward="true" selection-start-line="789" selection-start-column="0" selection-end-line="789" selection-end-column="0" />
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/MyTest/moaTest.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1399">
-          <caret line="9" column="0" lean-forward="true" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
+        <state relative-caret-position="-528">
+          <caret line="45" column="29" lean-forward="false" selection-start-line="45" selection-start-column="29" selection-end-line="45" selection-end-column="29" />
           <folding>
-            <element signature="e#24#47#0" expanded="true" />
-            <element signature="e#1895#2559#0" expanded="false" />
-            <element signature="e#2616#3093#0" expanded="false" />
-            <element signature="e#3264#3340#0" expanded="false" />
+            <element signature="e#24#45#0" expanded="true" />
+            <element signature="e#2575#3052#0" expanded="false" />
+            <element signature="e#3223#3299#0" expanded="false" />
           </folding>
         </state>
       </provider>

+ 17 - 31
MyTest/moaTest.py

@@ -1,5 +1,6 @@
 # -*- coding: utf-8 -*-
-import os,unittest,copy
+import HTMLTestRunner
+import os,unittest,copy,time
 from appium import webdriver
 from time import sleep
 from common.utility import *
@@ -28,11 +29,10 @@ class PYtest(unittest.TestCase):
     @classmethod
     def py_login(login):#登录测试用例
         #忽略引导页存在,手动去掉引导页之后再进行以下所有测试用例
+        print ('测试APP登录功能')
         sleep(2)
         current_Act = login.driver.current_activity
-        print current_Act
         if current_Act == '.ui.activity.LoginActivity':
-            print ('login App')
             account = login.driver.find_element_by_id('cn.wswin.moa:id/e_user_name')
             password = login.driver.find_element_by_id('cn.wswin.moa:id/e_user_password')
             btn_login = login.driver.find_element_by_name('登录')
@@ -41,16 +41,15 @@ class PYtest(unittest.TestCase):
             password.clear()
             password.send_keys('12345678')
             btn_login.click()
-            print ('login App passed')
+            print ('APP登录成功')
         elif current_Act =='.ui.activity.MainActivity':
-            print ('app is login')
+            print ('APP早就登录过了')
         else:
             print ('不知道你在哪个页面')
 
     def py_quitApp(quit):#退出APP
         sleep(2)
         current_Act= quit.driver.current_activity
-        print current_Act
         if current_Act == '.ui.activity.MainActivity':
             print('quit App')
             btn_left = quit.driver.find_element_by_class_name('android.widget.ImageButton')#最好不要在判断之前提前定义,会因为找不到对象而报错
@@ -89,25 +88,12 @@ class PYtest(unittest.TestCase):
         self.driver.swipe(720,700,0,700)
         print ('Swip Passed')
 
-    def py_findByName11(self):
-        current_Act = self.driver.current_activity
-        print current_Act
-        if current_Act == '.ui.activity.MainActivity':
-            self.driver.tap([(333, 1224)])  # 此处定位在联系人界面
-            self.driver.find_element_by_name('全市').click()
-            self.driver.find_element_by_name('丽水').click()
-            self.driver.find_element_by_xpath('//android.widget.TextView[@resource-id=\"cn.wswin.moa:id/menu_organization_search\"]').click()
-            self.driver.find_element_by_id('cn.wswin.moa:id/search_src_text').send_keys('ceshilqq')
-            self.driver.keyevent(66)#66,确认键键码
-            self.driver.find_element_by_name('贺贵良').click()
-            current_Act = self.driver.current_activity
-            if current_Act == '.ui.activity.UserProfileActivity':
-                print 'py_findByName Passed'
-            else:
-                print 'py_findByName Failed'
-
     def py_findByName(self):
         findByName(self,'ceshilqq','贺贵良')
+        self.driver.find_element_by_xpath('//android.widget.ImageButton[@resource-id=\"cn.wswin.moa:id/fab_profile\"]').click()
+        self.driver.find_element_by_id('cn.wswin.moa:id/rv_chat_list').send_keys('oh my God!')
+        self.driver.find_element_by_id('cn.wswin.moa:id/iv_chat_send_msg').click()
+        # self.driver.find_element_by_xpath('//android.widget.EditText[@resource-id=\"cn.wswin.moa:id/et_chat\"]').send_keys('oh my god!')
 
 
     def py_newActivity(self):
@@ -123,12 +109,12 @@ if __name__ == '__main__':
     suite.addTest(PYtest('py_login'))#APP登录
     suite.addTest(PYtest('py_findByName'))
     # suite.addTest(PYtest('py_newActivity'))#打开新页面
-    # suite.addTest(PYtest('py_quitApp'))#APP登出
+    suite.addTest(PYtest('py_quitApp'))#APP登出
     suite.addTest(PYtest('finishDriver'))#结束测试
-    unittest.TextTestRunner(verbosity=1).run(suite)
-    # timestr = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
-    # filename = "D:\\AutoTest\\report\\report_" + timestr + ".html"
-    # fp = file(filename, "wb")
-    # runner =HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'测试报告', description=u'测试用例详情')
-    # runner.run(suite)
-    # fp.close()
+    # unittest.TextTestRunner(verbosity=1).run(suite)#执行测试用例
+    timestr = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
+    filename = "D:\\AutoTest\\report\\report_" + timestr + ".html"
+    fp = file(filename, "wb")
+    runner =HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'测试报告', description=u'测试用例详情')
+    runner.run(suite)
+    fp.close()

+ 4 - 3
common/utility.py

@@ -63,10 +63,12 @@ def findOne(self, lookfor, topTree):
 
 #测试查询功能
 def findByName(self,loginName,displayName):
+    print ('test app findByName')
     current_Act = self.driver.current_activity
-    print current_Act
     if current_Act == '.ui.activity.MainActivity':
-        self.driver.tap([(333, 1224)])  # 此处定位在联系人界面
+        self.driver.find_element_by_xpath(
+            '//android.widget.LinearLayout/android.widget.FrameLayout[2]').click()
+        # self.driver.tap([(333, 1224)])  # 此处定位在联系人界面
         self.driver.find_element_by_name('全市').click()
         self.driver.find_element_by_name('丽水').click()
         self.driver.find_element_by_xpath(
@@ -80,7 +82,6 @@ def findByName(self,loginName,displayName):
             contact = changeListTree(contactsList)
             if len(contact) > 0:
                 self.driver.find_element_by_name(contact[0]).click()
-
         current_Act = self.driver.current_activity
         if current_Act == '.ui.activity.UserProfileActivity':
             print 'py_findByName Passed'