hegl 8 anos atrás
pai
commit
8ea3796056
3 arquivos alterados com 294 adições e 194 exclusões
  1. 195 135
      .idea/workspace.xml
  2. 65 42
      MyTest/qqTest.py
  3. 34 17
      MyTest/test.py

+ 195 - 135
.idea/workspace.xml

@@ -1,11 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ChangeListManager">
-    <list default="true" id="82c8521e-4e92-439a-a797-bd5cecfdccd4" name="Default" comment="update readme">
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/MyTest/test.py" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/MyTest/test_HTMLTestRunner.py" afterPath="" />
+    <list default="true" id="82c8521e-4e92-439a-a797-bd5cecfdccd4" name="Default" comment="">
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/MyTest/moaTest.py" afterPath="$PROJECT_DIR$/MyTest/moaTest.py" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/MyTest/qqTest.py" afterPath="$PROJECT_DIR$/MyTest/qqTest.py" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/MyTest/test.py" afterPath="$PROJECT_DIR$/MyTest/test.py" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="TRACKING_ENABLED" value="true" />
@@ -17,16 +16,17 @@
   <component name="CoverageDataManager">
     <SUITE FILE_PATH="coverage/PythonSpace$test_htmltestrunner.coverage" NAME="test_htmltestrunner Coverage Results" MODIFIED="1490769182058" 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$moaTest.coverage" NAME="moaTest Coverage Results" MODIFIED="1491376780287" 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$android_test.coverage" NAME="android_test Coverage Results" MODIFIED="1490257103383" 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$Unittests_in_test__1_.coverage" NAME="Unittests in test (1) Coverage Results" MODIFIED="1491377198415" 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$test.coverage" NAME="test Coverage Results" MODIFIED="1486630289684" 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$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$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/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" />
     <SUITE FILE_PATH="coverage/PythonSpace$Unittests_in_HTMLTestRunner.coverage" NAME="Unittests in HTMLTestRunner Coverage Results" MODIFIED="1490767215505" 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$firstpy__1_.coverage" NAME="firstpy (1) Coverage Results" MODIFIED="1490769017641" 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_qqTest.coverage" NAME="Unittests in qqTest Coverage Results" MODIFIED="1490934080753" 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$qqTest.coverage" NAME="qqTest Coverage Results" MODIFIED="1491024644901" 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$android_test.coverage" NAME="android_test Coverage Results" MODIFIED="1490257103383" 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="1486630289684" 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$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$qqTest.coverage" NAME="qqTest Coverage Results" MODIFIED="1491383613518" 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$hellow_python.coverage" NAME="hellow python Coverage Results" MODIFIED="1487743932113" 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$webdriver.coverage" NAME="webdriver Coverage Results" MODIFIED="1491373570607" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote" />
   </component>
   <component name="CreatePatchCommitExecutor">
     <option name="PATCH_PATH" value="" />
@@ -48,7 +48,7 @@
       <file leaf-file-name="moaTest.py" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/MyTest/moaTest.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="841">
+            <state relative-caret-position="1232">
               <caret line="73" column="41" lean-forward="false" selection-start-line="73" selection-start-column="41" selection-end-line="73" selection-end-column="41" />
               <folding>
                 <element signature="e#184#203#0" expanded="false" />
@@ -65,8 +65,18 @@
       <file leaf-file-name="one.py" pinned="false" current-in-tab="false">
         <entry file="file://E:/桌面/one.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="423">
-              <caret line="38" column="35" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="190" selection-end-column="16" />
+            <state relative-caret-position="181">
+              <caret line="45" column="34" lean-forward="true" selection-start-line="45" selection-start-column="34" selection-end-line="45" selection-end-column="34" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="case.py" pinned="false" current-in-tab="false">
+        <entry file="file://D:/Program Files (x86)/Python27/Lib/unittest/case.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="496">
+              <caret line="328" column="0" lean-forward="false" selection-start-line="328" selection-start-column="0" selection-end-line="328" selection-end-column="0" />
               <folding />
             </state>
           </provider>
@@ -75,9 +85,17 @@
       <file leaf-file-name="test.py" pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/MyTest/test.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="550">
-              <caret line="27" column="19" lean-forward="true" selection-start-line="27" selection-start-column="19" selection-end-line="27" selection-end-column="19" />
-              <folding />
+            <state relative-caret-position="413">
+              <caret line="58" column="45" lean-forward="true" selection-start-line="58" selection-start-column="45" selection-end-line="58" selection-end-column="45" />
+              <folding>
+                <element signature="e#24#33#0" expanded="true" />
+                <element signature="e#4066#4763#0" expanded="false" />
+                <element signature="e#4822#5618#0" expanded="false" />
+                <element signature="e#5660#6324#0" expanded="false" />
+                <element signature="e#6982#7070#0" expanded="false" />
+                <element signature="e#7115#7191#0" expanded="false" />
+                <element signature="e#7225#7287#0" expanded="false" />
+              </folding>
             </state>
           </provider>
         </entry>
@@ -85,29 +103,31 @@
       <file leaf-file-name="qqTest.py" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/MyTest/qqTest.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="340">
-              <caret line="22" column="0" lean-forward="true" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
+            <state relative-caret-position="484">
+              <caret line="23" column="42" lean-forward="false" selection-start-line="23" selection-start-column="37" selection-end-line="23" selection-end-column="42" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/MyTest/__init__.py">
+      <file leaf-file-name="webelement.py" pinned="false" current-in-tab="false">
+        <entry file="file://D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote/webelement.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="0">
-              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+            <state relative-caret-position="324">
+              <caret line="147" column="8" lean-forward="false" selection-start-line="147" selection-start-column="8" selection-end-line="147" selection-end-column="8" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="case.py" pinned="false" current-in-tab="false">
-        <entry file="file://D:/Program Files (x86)/Python27/Lib/unittest/case.py">
+      <file leaf-file-name="webdriver.py" pinned="false" current-in-tab="false">
+        <entry file="file://D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote/webdriver.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="496">
-              <caret line="328" column="0" lean-forward="false" selection-start-line="328" selection-start-column="0" selection-end-line="328" selection-end-column="0" />
-              <folding />
+            <state relative-caret-position="481">
+              <caret line="290" column="12" lean-forward="true" selection-start-line="290" selection-start-column="12" selection-end-line="290" selection-end-column="55" />
+              <folding>
+                <element signature="e#825#838#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
@@ -129,6 +149,7 @@
       <find>tap</find>
       <find>try</find>
       <find>scroll</find>
+      <find>position</find>
     </findStrings>
     <replaceStrings>
       <replace>PYtest</replace>
@@ -157,7 +178,6 @@
         <option value="D:/Program Files (x86)/Python27/Lib/site-packages/HTMLTestRunner.py" />
         <option value="$PROJECT_DIR$/Demo/test_HTMLTestRunner.py" />
         <option value="$PROJECT_DIR$/MyTest/firstpy.py" />
-        <option value="$PROJECT_DIR$/MyTest/qqTest.py" />
         <option value="$PROJECT_DIR$/common/errorStatus.py" />
         <option value="$PROJECT_DIR$/common/utility.py" />
         <option value="$PROJECT_DIR$/README.md" />
@@ -165,6 +185,8 @@
         <option value="E:/桌面/one.py" />
         <option value="$PROJECT_DIR$/MyTest/onemore.py" />
         <option value="$PROJECT_DIR$/MyTest/test_HTMLTestRunner.py" />
+        <option value="$PROJECT_DIR$/MyTest/qqTest.py" />
+        <option value="$PROJECT_DIR$/MyTest/test.py" />
       </list>
     </option>
   </component>
@@ -271,7 +293,7 @@
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="js.eslint.eslintPackage" value="" />
     <property name="js-jscs-nodeInterpreter" value="D:\Program Files\nodejs\node.exe" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/MyTest/test.py" />
     <property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Font" />
   </component>
   <component name="RecentsManager">
@@ -284,11 +306,13 @@
       <recent name="D:\AutoTest\PythonSpace" />
     </key>
   </component>
-  <component name="RunManager">
-    <configuration default="false" name="Unittests in qqTest" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true">
+  <component name="RunManager" selected="Python.test">
+    <configuration default="false" name="qqTest" type="PythonConfigurationType" factoryName="Python" temporary="true">
       <option name="INTERPRETER_OPTIONS" value="" />
       <option name="PARENT_ENVS" value="true" />
-      <envs />
+      <envs>
+        <env name="PYTHONUNBUFFERED" value="1" />
+      </envs>
       <option name="SDK_HOME" value="" />
       <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/MyTest" />
       <option name="IS_MODULE_SDK" value="true" />
@@ -297,18 +321,11 @@
       <module name="PythonSpace" />
       <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
       <option name="SCRIPT_NAME" value="$PROJECT_DIR$/MyTest/qqTest.py" />
-      <option name="CLASS_NAME" value="" />
-      <option name="METHOD_NAME" value="" />
-      <option name="FOLDER_NAME" value="" />
-      <option name="TEST_TYPE" value="TEST_SCRIPT" />
-      <option name="PATTERN" value="" />
-      <option name="USE_PATTERN" value="false" />
-      <option name="PUREUNITTEST" value="true" />
-      <option name="PARAMS" value="" />
-      <option name="USE_PARAM" value="false" />
+      <option name="PARAMETERS" value="" />
+      <option name="SHOW_COMMAND_LINE" value="false" />
       <method />
     </configuration>
-    <configuration default="false" name="qqTest" type="PythonConfigurationType" factoryName="Python" temporary="true">
+    <configuration default="false" name="moaTest" type="PythonConfigurationType" factoryName="Python" temporary="true">
       <option name="INTERPRETER_OPTIONS" value="" />
       <option name="PARENT_ENVS" value="true" />
       <envs>
@@ -321,12 +338,12 @@
       <option name="ADD_SOURCE_ROOTS" value="true" />
       <module name="PythonSpace" />
       <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
-      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/MyTest/qqTest.py" />
+      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/MyTest/moaTest.py" />
       <option name="PARAMETERS" value="" />
       <option name="SHOW_COMMAND_LINE" value="false" />
       <method />
     </configuration>
-    <configuration default="false" name="moaTest" type="PythonConfigurationType" factoryName="Python" temporary="true">
+    <configuration default="false" name="test" type="PythonConfigurationType" factoryName="Python" temporary="true">
       <option name="INTERPRETER_OPTIONS" value="" />
       <option name="PARENT_ENVS" value="true" />
       <envs>
@@ -339,30 +356,35 @@
       <option name="ADD_SOURCE_ROOTS" value="true" />
       <module name="PythonSpace" />
       <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
-      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/MyTest/moaTest.py" />
+      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/MyTest/test.py" />
       <option name="PARAMETERS" value="" />
       <option name="SHOW_COMMAND_LINE" value="false" />
       <method />
     </configuration>
-    <configuration default="false" name="webdriver" type="PythonConfigurationType" factoryName="Python" temporary="true">
+    <configuration default="false" name="Unittests in test" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true">
       <option name="INTERPRETER_OPTIONS" value="" />
       <option name="PARENT_ENVS" value="true" />
-      <envs>
-        <env name="PYTHONUNBUFFERED" value="1" />
-      </envs>
+      <envs />
       <option name="SDK_HOME" value="" />
-      <option name="WORKING_DIRECTORY" value="D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/MyTest" />
       <option name="IS_MODULE_SDK" value="true" />
       <option name="ADD_CONTENT_ROOTS" value="true" />
       <option name="ADD_SOURCE_ROOTS" value="true" />
       <module name="PythonSpace" />
       <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
-      <option name="SCRIPT_NAME" value="D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote/webdriver.py" />
-      <option name="PARAMETERS" value="" />
-      <option name="SHOW_COMMAND_LINE" value="false" />
+      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/MyTest/test.py" />
+      <option name="CLASS_NAME" value="" />
+      <option name="METHOD_NAME" value="" />
+      <option name="FOLDER_NAME" value="" />
+      <option name="TEST_TYPE" value="TEST_SCRIPT" />
+      <option name="PATTERN" value="" />
+      <option name="USE_PATTERN" value="false" />
+      <option name="PUREUNITTEST" value="true" />
+      <option name="PARAMS" value="" />
+      <option name="USE_PARAM" value="false" />
       <method />
     </configuration>
-    <configuration default="false" name="Unittests in test" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true">
+    <configuration default="false" name="Unittests in test (1)" type="tests" factoryName="Unittests" temporary="true" nameIsGenerated="true">
       <option name="INTERPRETER_OPTIONS" value="" />
       <option name="PARENT_ENVS" value="true" />
       <envs />
@@ -373,7 +395,7 @@
       <option name="ADD_SOURCE_ROOTS" value="true" />
       <module name="PythonSpace" />
       <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
-      <option name="SCRIPT_NAME" value="D:\AutoTest\AppCode_Test\PythonSpace\MyTest\test.py" />
+      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/MyTest/test.py" />
       <option name="CLASS_NAME" value="" />
       <option name="METHOD_NAME" value="" />
       <option name="FOLDER_NAME" value="" />
@@ -600,19 +622,19 @@
       <method />
     </configuration>
     <list size="5">
-      <item index="0" class="java.lang.String" itemvalue="Python tests.Unittests in qqTest" />
-      <item index="1" class="java.lang.String" itemvalue="Python.qqTest" />
-      <item index="2" class="java.lang.String" itemvalue="Python.moaTest" />
-      <item index="3" class="java.lang.String" itemvalue="Python.webdriver" />
-      <item index="4" class="java.lang.String" itemvalue="Python tests.Unittests in test" />
+      <item index="0" class="java.lang.String" itemvalue="Python.qqTest" />
+      <item index="1" class="java.lang.String" itemvalue="Python.moaTest" />
+      <item index="2" class="java.lang.String" itemvalue="Python.test" />
+      <item index="3" class="java.lang.String" itemvalue="Python tests.Unittests in test" />
+      <item index="4" class="java.lang.String" itemvalue="Python tests.Unittests in test (1)" />
     </list>
     <recent_temporary>
       <list size="5">
-        <item index="0" class="java.lang.String" itemvalue="Python tests.Unittests in test" />
-        <item index="1" class="java.lang.String" itemvalue="Python.moaTest" />
-        <item index="2" class="java.lang.String" itemvalue="Python.webdriver" />
-        <item index="3" class="java.lang.String" itemvalue="Python.qqTest" />
-        <item index="4" class="java.lang.String" itemvalue="Python tests.Unittests in qqTest" />
+        <item index="0" class="java.lang.String" itemvalue="Python.test" />
+        <item index="1" class="java.lang.String" itemvalue="Python.qqTest" />
+        <item index="2" class="java.lang.String" itemvalue="Python tests.Unittests in test (1)" />
+        <item index="3" class="java.lang.String" itemvalue="Python tests.Unittests in test" />
+        <item index="4" class="java.lang.String" itemvalue="Python.moaTest" />
       </list>
     </recent_temporary>
   </component>
@@ -651,30 +673,43 @@
       <option name="project" value="LOCAL" />
       <updated>1491371160093</updated>
     </task>
-    <option name="localTasksCounter" value="4" />
+    <task id="LOCAL-00004" summary="update some">
+      <created>1491377026301</created>
+      <option name="number" value="00004" />
+      <option name="presentableId" value="LOCAL-00004" />
+      <option name="project" value="LOCAL" />
+      <updated>1491377026301</updated>
+    </task>
+    <option name="localTasksCounter" value="5" />
     <servers />
   </component>
   <component name="TestHistory">
-    <history-entry file="Unittests_in_HTMLTestRunner - 2017.02.09 at 16h 11m 56s.xml">
-      <configuration name="Unittests in HTMLTestRunner" configurationId="tests" />
+    <history-entry file="Unittests_in_qqTest - 2017.03.31 at 12h 21m 22s.xml">
+      <configuration name="Unittests in qqTest" configurationId="tests" />
     </history-entry>
-    <history-entry file="Unittests_in_HTMLTestRunner - 2017.02.09 at 17h 02m 03s.xml">
-      <configuration name="Unittests in HTMLTestRunner" configurationId="tests" />
+    <history-entry file="Unittests_in_test_(1) - 2017.04.05 at 15h 24m 10s.xml">
+      <configuration name="Unittests in test (1)" configurationId="tests" />
     </history-entry>
-    <history-entry file="Unittests_in_HTMLTestRunner - 2017.03.29 at 13h 13m 30s.xml">
-      <configuration name="Unittests in HTMLTestRunner" configurationId="tests" />
+    <history-entry file="Unittests_in_test_(1) - 2017.04.05 at 15h 24m 21s.xml">
+      <configuration name="Unittests in test (1)" configurationId="tests" />
     </history-entry>
-    <history-entry file="Unittests_in_HTMLTestRunner - 2017.03.29 at 13h 56m 59s.xml">
-      <configuration name="Unittests in HTMLTestRunner" configurationId="tests" />
+    <history-entry file="Unittests_in_test_(1) - 2017.04.05 at 15h 24m 43s.xml">
+      <configuration name="Unittests in test (1)" configurationId="tests" />
     </history-entry>
-    <history-entry file="Unittests_in_HTMLTestRunner - 2017.03.29 at 14h 00m 11s.xml">
-      <configuration name="Unittests in HTMLTestRunner" configurationId="tests" />
+    <history-entry file="Unittests_in_test_(1) - 2017.04.05 at 15h 25m 32s.xml">
+      <configuration name="Unittests in test (1)" configurationId="tests" />
     </history-entry>
-    <history-entry file="Unittests_in_HTMLTestRunner - 2017.03.29 at 14h 00m 16s.xml">
-      <configuration name="Unittests in HTMLTestRunner" configurationId="tests" />
+    <history-entry file="Unittests_in_test_(1) - 2017.04.05 at 15h 25m 50s.xml">
+      <configuration name="Unittests in test (1)" configurationId="tests" />
     </history-entry>
-    <history-entry file="Unittests_in_qqTest - 2017.03.31 at 12h 21m 22s.xml">
-      <configuration name="Unittests in qqTest" configurationId="tests" />
+    <history-entry file="Unittests_in_test_(1) - 2017.04.05 at 15h 25m 57s.xml">
+      <configuration name="Unittests in test (1)" configurationId="tests" />
+    </history-entry>
+    <history-entry file="Unittests_in_test_(1) - 2017.04.05 at 15h 26m 03s.xml">
+      <configuration name="Unittests in test (1)" configurationId="tests" />
+    </history-entry>
+    <history-entry file="Unittests_in_test_(1) - 2017.04.05 at 15h 26m 38s.xml">
+      <configuration name="Unittests in test (1)" configurationId="tests" />
     </history-entry>
     <history-entry file="Unittests_in_test_HTMLTestRunner - 2017.04.05 at 15h 22m 27s.xml">
       <configuration name="Unittests in test_HTMLTestRunner" configurationId="tests" />
@@ -695,15 +730,16 @@
     <layout>
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.19726562" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="TODO" 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="6" side_tool="false" content_ui="tabs" />
-      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.23922734" sideWeight="0.52851564" order="7" side_tool="true" content_ui="tabs" />
+      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25260028" sideWeight="0.33554688" order="7" side_tool="true" content_ui="tabs" />
       <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" 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="10" side_tool="false" content_ui="tabs" />
       <window_info id="Python Console" 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="8" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.23922734" sideWeight="0.47148436" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.45170876" sideWeight="0.46679688" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Coverage" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
       <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.3127786" sideWeight="0.46796876" 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="true" show_stripe_button="true" weight="0.25260028" sideWeight="0.66445315" 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" />
@@ -723,7 +759,8 @@
     <MESSAGE value="python demo" />
     <MESSAGE value="update moaTest" />
     <MESSAGE value="update readme" />
-    <option name="LAST_COMMIT_MESSAGE" value="update readme" />
+    <MESSAGE value="update some" />
+    <option name="LAST_COMMIT_MESSAGE" value="update some" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
@@ -731,17 +768,32 @@
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/MyTest/moaTest.py</url>
           <line>63</line>
-          <option name="timeStamp" value="113" />
+          <option name="timeStamp" value="127" />
         </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
           <url>file://$PROJECT_DIR$/MyTest/moaTest.py</url>
           <line>64</line>
-          <option name="timeStamp" value="116" />
+          <option name="timeStamp" value="128" />
         </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
-          <url>file://$PROJECT_DIR$/MyTest/moaTest.py</url>
-          <line>39</line>
-          <option name="timeStamp" value="117" />
+          <url>file://$PROJECT_DIR$/MyTest/test.py</url>
+          <line>79</line>
+          <option name="timeStamp" value="130" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
+          <url>file://$PROJECT_DIR$/MyTest/test.py</url>
+          <line>54</line>
+          <option name="timeStamp" value="131" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
+          <url>file://$PROJECT_DIR$/MyTest/test.py</url>
+          <line>58</line>
+          <option name="timeStamp" value="132" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
+          <url>file://$PROJECT_DIR$/MyTest/test.py</url>
+          <line>59</line>
+          <option name="timeStamp" value="133" />
         </line-breakpoint>
       </breakpoints>
       <default-breakpoints>
@@ -751,7 +803,7 @@
           </properties>
         </breakpoint>
       </default-breakpoints>
-      <option name="time" value="118" />
+      <option name="time" value="134" />
     </breakpoint-manager>
     <watches-manager />
   </component>
@@ -911,24 +963,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote/webelement.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="331">
-          <caret line="72" column="0" lean-forward="false" selection-start-line="72" selection-start-column="0" selection-end-line="72" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote/webdriver.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="348">
-          <caret line="233" column="0" lean-forward="false" selection-start-line="233" selection-start-column="0" selection-end-line="233" selection-end-column="0" />
-          <folding>
-            <element signature="e#825#838#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://D:/Program Files (x86)/Python27/Lib/json/encoder.py">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="392">
@@ -1009,66 +1043,92 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://D:/Program Files (x86)/Python27/Lib/unittest/case.py">
+    <entry file="file://$PROJECT_DIR$/MyTest/onemore.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="496">
-          <caret line="328" column="0" lean-forward="false" selection-start-line="328" selection-start-column="0" selection-end-line="328" selection-end-column="0" />
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/MyTest/moaTest.py">
+    <entry file="file://$PROJECT_DIR$/MyTest/__init__.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="841">
-          <caret line="73" column="41" lean-forward="false" selection-start-line="73" selection-start-column="41" selection-end-line="73" selection-end-column="41" />
-          <folding>
-            <element signature="e#184#203#0" expanded="false" />
-            <element signature="e#2780#3477#0" expanded="false" />
-            <element signature="e#3536#4332#0" expanded="false" />
-            <element signature="e#4374#5038#0" expanded="false" />
-            <element signature="e#5728#5804#0" expanded="false" />
-            <element signature="e#5838#5900#0" expanded="false" />
-          </folding>
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/MyTest/onemore.py">
+    <entry file="file://E:/桌面/one.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="181">
+          <caret line="45" column="34" lean-forward="true" selection-start-line="45" selection-start-column="34" selection-end-line="45" selection-end-column="34" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://E:/桌面/one.py">
+    <entry file="file://D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote/webelement.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="423">
-          <caret line="38" column="35" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="190" selection-end-column="16" />
+        <state relative-caret-position="324">
+          <caret line="147" column="8" lean-forward="false" selection-start-line="147" selection-start-column="8" selection-end-line="147" selection-end-column="8" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/MyTest/__init__.py">
+    <entry file="file://D:/Program Files (x86)/Python27/Lib/site-packages/selenium/webdriver/remote/webdriver.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="481">
+          <caret line="290" column="12" lean-forward="true" selection-start-line="290" selection-start-column="12" selection-end-line="290" selection-end-column="55" />
+          <folding>
+            <element signature="e#825#838#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://D:/Program Files (x86)/Python27/Lib/unittest/case.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="496">
+          <caret line="328" column="0" lean-forward="false" selection-start-line="328" selection-start-column="0" selection-end-line="328" 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="1232">
+          <caret line="73" column="41" lean-forward="false" selection-start-line="73" selection-start-column="41" selection-end-line="73" selection-end-column="41" />
+          <folding>
+            <element signature="e#184#203#0" expanded="false" />
+            <element signature="e#2780#3477#0" expanded="false" />
+            <element signature="e#3536#4332#0" expanded="false" />
+            <element signature="e#4374#5038#0" expanded="false" />
+            <element signature="e#5728#5804#0" expanded="false" />
+            <element signature="e#5838#5900#0" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/MyTest/qqTest.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="340">
-          <caret line="22" column="0" lean-forward="true" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
+        <state relative-caret-position="484">
+          <caret line="23" column="42" lean-forward="false" selection-start-line="23" selection-start-column="37" selection-end-line="23" selection-end-column="42" />
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/MyTest/test.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="550">
-          <caret line="27" column="19" lean-forward="true" selection-start-line="27" selection-start-column="19" selection-end-line="27" selection-end-column="19" />
-          <folding />
+        <state relative-caret-position="413">
+          <caret line="58" column="45" lean-forward="true" selection-start-line="58" selection-start-column="45" selection-end-line="58" selection-end-column="45" />
+          <folding>
+            <element signature="e#24#33#0" expanded="true" />
+            <element signature="e#4066#4763#0" expanded="false" />
+            <element signature="e#4822#5618#0" expanded="false" />
+            <element signature="e#5660#6324#0" expanded="false" />
+            <element signature="e#6982#7070#0" expanded="false" />
+            <element signature="e#7115#7191#0" expanded="false" />
+            <element signature="e#7225#7287#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>

+ 65 - 42
MyTest/qqTest.py

@@ -2,48 +2,71 @@
 from appium import webdriver#倒入 webdriver
 import os,time,unittest,HTMLTestRunner#倒入库
 
-class apptestlogin(unittest.TestCase):
-    def setUp(self):#初始化
-        self.desired_caps={}
-        self.desired_caps['platformName'] = 'Android'
-        self.desired_caps['deviceName']='7bbe99db'
-        self.desired_caps['preformVersion']='4.3'
-        self.desired_caps['appPackage']  ='com.tencent.mobileqq'
-        self.desired_caps['appActivity']  ='.activity.SplashActivity'
-        self.driver=webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps)#启动 app
-        self.driver.implicitly_wait(1)  # 全局方法最长超时时间
+def changeListTree(listTree):
+    listTreeName = []
+    if len(listTree) > 0 :
+        for i in listTree:
+            listTreeName.append(i.text)
+    return listTreeName
 
-    def tearDown(self):#还原测试环境
-        self.driver.find_element_by_id('com.tencent.mobileqq:id/conversation_head').click()
-        self.driver.find_element_by_id('com.tencent.mobileqq:id/settings').click()
-        self.driver.find_element_by_id('com.tencent.mobileqq:id/account_switch').click()
-        self.driver.find_element_by_id('com.tencent.mobileqq:id/logoutBtn').click()
-        self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogRightBtn').click()
-        self.driver.quit()
+def listIsDif(newListName,oldListName):
+    # newListName = changeListTree(newList)
+    # oldListName = changeListTree(oldList)
+    # newListName中有而oldListName中没有的
+    difListName = list(set(newListName).difference(set(oldListName)))
+    print difListName
+    print '不同路径的长度',len(difListName)
+    return difListName
 
-    def testLogin1(self):  # 测试用例
-        self.driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click()#登录,定位方式 id
-        # time.sleep(2)
-        me = self.driver.find_element_by_android_uiautomator('new UiSelector().textContains("QQ")')# 定位输入qq号,使用uiautomator定位
-        me.clear() # 输入框输入前最好先清空下
-        me.send_keys('121354090')
-        password = self.driver.find_element_by_id('com.tencent.mobileqq:id/password')
-        password.clear()
-        password.send_keys('xxx..')
-        self.driver.find_element_by_id('com.tencent.mobileqq:id/login').click()#点击登录
-        m = self.driver.find_element_by_id('com.tencent.mobileqq:id/conversation_head')
-        if m is not None:
-            print('login is sucess')
-        else:
-            print('login is Flase')
-            print(self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogText ').text)
+list1 =[1,2,3,4]
+list2 =[4,5,6,7,8,9,10]
+if len(list1) > 0 and len(list2):
+    list3 = listIsDif(changeListTree(list2), list1)
 
-if __name__ == '__main__':
-    suiteTest = unittest.TestSuite()
-    suiteTest.addTest(apptestlogin("testLogin1"))
-    unittest.TextTestRunner(verbosity=1).run(suiteTest)
-    # now = time.strftime('%Y-%m%d', time.localtime(time.time()))
-    # report_dir = r'%s.html' % now
-    # re_open = open(report_dir, 'wb')
-    # runner = HTMLTestRunner.HTMLTestRunner(stream=re_open, title = 'QQ 测试', description = '测试结果')
-    # runner.run(suiteTest)
+
+#
+# class apptestlogin(unittest.TestCase):
+#     def setUp(self):#初始化
+#         self.desired_caps={}
+#         self.desired_caps['platformName'] = 'Android'
+#         self.desired_caps['deviceName']='7bbe99db'
+#         self.desired_caps['preformVersion']='4.3'
+#         self.desired_caps['appPackage']  ='com.tencent.mobileqq'
+#         self.desired_caps['appActivity']  ='.activity.SplashActivity'
+#         self.driver=webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps)#启动 app
+#         self.driver.implicitly_wait(1)  # 全局方法最长超时时间
+#
+#     def tearDown(self):#还原测试环境
+#         self.driver.find_element_by_id('com.tencent.mobileqq:id/conversation_head').click()
+#         self.driver.find_element_by_id('com.tencent.mobileqq:id/settings').click()
+#         self.driver.find_element_by_id('com.tencent.mobileqq:id/account_switch').click()
+#         self.driver.find_element_by_id('com.tencent.mobileqq:id/logoutBtn').click()
+#         self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogRightBtn').click()
+#         self.driver.quit()
+#
+#     def testLogin1(self):  # 测试用例
+#         self.driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click()#登录,定位方式 id
+#         # time.sleep(2)
+#         me = self.driver.find_element_by_android_uiautomator('new UiSelector().textContains("QQ")')# 定位输入qq号,使用uiautomator定位
+#         me.clear() # 输入框输入前最好先清空下
+#         me.send_keys('121354090')
+#         password = self.driver.find_element_by_id('com.tencent.mobileqq:id/password')
+#         password.clear()
+#         password.send_keys('xxx..')
+#         self.driver.find_element_by_id('com.tencent.mobileqq:id/login').click()#点击登录
+#         m = self.driver.find_element_by_id('com.tencent.mobileqq:id/conversation_head')
+#         if m is not None:
+#             print('login is sucess')
+#         else:
+#             print('login is Flase')
+#             print(self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogText ').text)
+#
+# if __name__ == '__main__':
+#     suiteTest = unittest.TestSuite()
+#     suiteTest.addTest(apptestlogin("testLogin1"))
+#     unittest.TextTestRunner(verbosity=1).run(suiteTest)
+#     # now = time.strftime('%Y-%m%d', time.localtime(time.time()))
+#     # report_dir = r'%s.html' % now
+#     # re_open = open(report_dir, 'wb')
+#     # runner = HTMLTestRunner.HTMLTestRunner(stream=re_open, title = 'QQ 测试', description = '测试结果')
+#     # runner.run(suiteTest)

+ 34 - 17
MyTest/test.py

@@ -1,5 +1,6 @@
 # -*- coding: utf-8 -*-
-import os,unittest,copy
+import os
+import unittest
 from appium import webdriver
 from time import sleep
 PATH = lambda p: os.path.abspath(
@@ -26,32 +27,46 @@ def elementIsExit(self,element):
             print e
             return False
         return True
+def anyOnehere(self,element):
+    flag = False
+    self.driver.find_element_by_name(element)
+
+    return flag
 
 def changeListTree(listTree):
     listTreeName = []
-    for i in  listTree:
-        listTreeName.append(i.text)
+    if len(listTree) > 0 :
+        for i in listTree:
+            listTreeName.append(i.text)
     return listTreeName
 
+
 def listIsDif(newListName,oldListName):
     # newListName = changeListTree(newList)
     # oldListName = changeListTree(oldList)
     # newListName中有而oldListName中没有的
     difListName = list(set(newListName).difference(set(oldListName)))
-    print difListName
+    # print difListName
     print '不同路径的长度',len(difListName)
     return difListName
 
 #找人
-def findOne(self,lookfor,topTree):
+def findOne(self, lookfor, topTree, lastTree):
     findflag = False
-    copyTreeName = changeListTree(topTree)
-    toptreeCount = topTree.__len__()
-    for onetree in copyTreeName:
-        num = copyTreeName.index(onetree)
-        currenttreeName = copyTreeName[num]
+    # copyTreeName = topTree
+    # lastTreeName = changeListTree(lastTree)
+    if len(lastTree) > 0 and len(topTree) > 0:
+        topTree = listIsDif(lastTree,topTree)
+        print '目前路径如下:', topTree
+    toptreeCount = len(topTree)
+    for onetree in topTree:
+        num = topTree.index(onetree)
+        currenttreeName = topTree[num]
         if elementIsExit(self, currenttreeName):
             self.driver.find_element_by_name(currenttreeName).click()
+            sleep(1)
+            # if True and True:#看不到节点下面的任何对象:人和节点
+            #     self.driver.swipe(710, 1000, 710, 200)  # 往下滑动当前页
             print '程序点击了该路径:', currenttreeName
         while True:
             otherTree = self.driver.find_elements_by_id('cn.wswin.moa:id/tv_item_tree_parent')
@@ -60,20 +75,20 @@ def findOne(self,lookfor,topTree):
                 findflag = True
                 # self.driver.find_element_by_name(lookfor).click()
                 break
-            elif len(listIsDif(changeListTree(otherTree), copyTreeName)) > 0:
+            elif len(listIsDif(changeListTree(otherTree), topTree)) > 0:
                 print '发现新的路径:', otherTree
-                findOne(self, lookfor, otherTree)
+                findOne(self, lookfor, topTree, changeListTree(otherTree))
             elif num < (toptreeCount - 1):
-                nexttreeName = copyTreeName[num + 1]
+                nexttreeName = topTree[num + 1]
                 print '要查看的下一个路径名称:', nexttreeName
                 if elementIsExit(self, nexttreeName):
                     break
                 else:
-                    print '查询不到下一个路径,需要滑动'
+                    print '查询不到要找的人,以及下一级节点,需要滑动'
                     self.driver.swipe(710, 1000, 710, 200)  # 往下滑动当前页
             else:
-                print '结束查找'
-                break
+                self.driver.swipe(710, 1000, 710, 200)  # 往下滑动当前页
+                print '找不到任何规定的内容'
     print '出结果了要'
     return findflag
 # def scanOne(self, target, lookfor):
@@ -158,7 +173,9 @@ class PYtest(unittest.TestCase):
         if elementIsExit(opentree,'联系人'):
             print ('当前页面位置:联系人界面')
             topTree = opentree.driver.find_elements_by_id('cn.wswin.moa:id/tv_item_tree_parent')  # 后期用target替换
-            if findOne(opentree, '王巧巧', topTree):
+            otherTreeName = []
+            topTreeNmae =  changeListTree(topTree)
+            if findOne(opentree, '陈明干', topTreeNmae, otherTreeName):
                 print '找到人了'
 
     def finishDriver(self):