Commit bc056326 by linguangwei

添加转换窗口方法

parent 0e92aa3b
......@@ -3,5 +3,5 @@
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (xm-uitest-sow)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
......@@ -4,130 +4,17 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="00f4febb-36b6-426d-bfe6-b023876a617e" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/xm-uitest-live.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/xm-uitest-live.iml" afterDir="false" />
<list default="true" id="00f4febb-36b6-426d-bfe6-b023876a617e" name="Default Changelist" comment="修改回放按钮元素">
<change beforePath="$PROJECT_DIR$/case/__init__.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/case/test_enter.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/basepage.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/pageobject/basepage.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/testcase/testMainPage.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/testcase/testMainPage.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileEditorManager">
<leaf>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/pageobject/loginpage.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="15" column="44" selection-start-line="15" selection-start-column="44" selection-end-line="15" selection-end-column="44" />
<folding>
<element signature="e#0#40#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/framework/appDriver.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/liveRoom/roomName.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#0#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/framework/common.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1020">
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/pageobject/mainpage.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-65">
<caret line="25" column="59" selection-start-line="25" selection-start-column="59" selection-end-line="25" selection-end-column="59" />
<folding>
<element signature="e#0#46#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/testcase/testLoginPage.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="380">
<caret line="19" column="13" selection-start-line="19" selection-start-column="13" selection-end-line="19" selection-end-column="13" />
<folding>
<element signature="e#0#46#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="480">
<caret line="24" selection-start-line="24" selection-end-line="24" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/requirements.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="40">
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config/config.ini">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180">
<caret line="9" selection-start-line="9" selection-end-line="9" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/testcase/testMainPage.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-840">
<folding>
<element signature="e#0#39#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
......@@ -270,18 +157,6 @@
<recent name="C:\Users\Administrator\PycharmProjects\xm-uitest-live" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="Python tests.pytest for testLoginPage.TestLoginPage.testLogin">
<configuration name="main" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="xm-uitest-live" />
......@@ -316,6 +191,7 @@
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="_new_keywords" value="&quot;&quot;" />
<option name="_new_parameters" value="&quot;&quot;" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;testLoginPage.TestLoginPage.testLogin&quot;" />
<option name="_new_targetType" value="&quot;PYTHON&quot;" />
......@@ -332,6 +208,7 @@
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="_new_keywords" value="&quot;&quot;" />
<option name="_new_parameters" value="&quot;&quot;" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;testMainPage.TestMainPage&quot;" />
<option name="_new_targetType" value="&quot;PYTHON&quot;" />
......@@ -348,6 +225,7 @@
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="_new_keywords" value="&quot;&quot;" />
<option name="_new_parameters" value="&quot;&quot;" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;testMainPage.TestMainPage.test_2_StartLive&quot;" />
<option name="_new_targetType" value="&quot;PYTHON&quot;" />
......@@ -364,6 +242,7 @@
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="_new_keywords" value="&quot;&quot;" />
<option name="_new_parameters" value="&quot;&quot;" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;testMainPage.TestMainPage.test_4_StartLive&quot;" />
<option name="_new_targetType" value="&quot;PYTHON&quot;" />
......@@ -379,7 +258,7 @@
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" BundledDictionaries="0" Folders="0" CustomDictionaries="0" Dictionaries="0" CorrectionsLimit="5" DefaultDictionary="application-level" UseSingleDictionary="true" />
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="false" />
<component name="SvnConfiguration">
<configuration>C:\Users\Administrator\AppData\Roaming\Subversion</configuration>
</component>
......@@ -518,12 +397,6 @@
<entry key="MAIN">
<value>
<State>
<option name="RECENTLY_FILTERED_USER_GROUPS">
<collection />
</option>
<option name="RECENTLY_FILTERED_BRANCH_GROUPS">
<collection />
</option>
<option name="FILTERS">
<map>
<entry key="branch">
......@@ -554,6 +427,7 @@
</entry>
</map>
</option>
<option name="oldMeFiltersMigrated" value="true" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="test test" />
......@@ -563,11 +437,6 @@
<MESSAGE value="登录-开课-结束课程-关闭客户端" />
<option name="LAST_COMMIT_MESSAGE" value="登录-开课-结束课程-关闭客户端" />
</component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/xm_uitest_sow$main.coverage" NAME="main Coverage Results" MODIFIED="1624010334774" 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/xm_uitest_sow$pytest_for_testMainPage_TestMainPage_test_2_StartLive.coverage" NAME="pytest for testMainPage.TestMainPage.test_2_StartLive Coverage Results" MODIFIED="1624010363519" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/src/testcase" />
<SUITE FILE_PATH="coverage/xm_uitest_sow$pytest_for_testLoginPage_TestLoginPage_testLogin.coverage" NAME="pytest for testLoginPage.TestLoginPage.testLogin Coverage Results" MODIFIED="1624010904389" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/src/testcase" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/server.log" />
<entry file="file://$PROJECT_DIR$/wyfTest.py" />
......
......@@ -4,11 +4,10 @@
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/venv" />
</content>
<orderEntry type="jdk" jdkName="Python 3.8" jdkType="Python SDK" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TestRunnerService">
<option name="projectConfiguration" value="pytest" />
<option name="PROJECT_TEST_RUNNER" value="pytest" />
</component>
</module>
\ No newline at end of file
import pytest
# content of test_sample.py
def func(x):
return x + 1
def test_answer():
assert func(3) == 5
\ No newline at end of file
......@@ -102,6 +102,16 @@ class Page(object):
def save_screenshot(self, filename):
self.driver.save_screenshot(filename)
# 切换窗口
def change_window(self, loc):
driver = self.driver
vars = driver.window_handles
for var in vars:
driver.switch_to_window(var)
have_ele = self.ifElementExist(loc)
if have_ele:
break
def login(self):
driver = self.driver
login_page = Page(driver=driver)
......
......@@ -64,40 +64,18 @@ class TestMainPage(unittest.TestCase):
main_page.click_in_live_btn(self.live_course_name[1])
main_page.sleep(5)
# 二次确认开启直播
driver = self.driver
vars = driver.window_handles
for var in vars:
driver.switch_to_window(var)
have_ele = main_page.ifElementExist(main_page.start_live_btn)
if have_ele:
break
main_page.change_window(main_page.start_live_btn)
main_page.start_live()
main_page.sleep(5)
# 关闭直播
for var in vars:
driver.switch_to_window(var)
have_ele = main_page.ifElementExist(main_page.camera_btn)
if have_ele:
break
main_page.change_window(main_page.camera_btn)
main_page.stop_live()
main_page.sleep(5)
driver = self.driver
vars = driver.window_handles
for var in vars:
driver.switch_to_window(var)
have_ele = main_page.ifElementExist(main_page.cancel_stop_live_btn)
if have_ele:
break
main_page.change_window(main_page.cancel_stop_live_btn)
# 确认结束直播
main_page.stop_live()
main_page.sleep(3)
driver = self.driver
vars = driver.window_handles
for var in vars:
driver.switch_to_window(var)
have_ele = main_page.ifElementExist(main_page.live_list)
if have_ele:
break
main_page.change_window(main_page.live_list)
self.assertEqual("查看回放", main_page.get_btn_text(self.live_course_name[1]))
main_page.sleep(3)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment