Commit e1ff8f18 by linguangwei

review

parent cc22c038
......@@ -4,10 +4,24 @@
<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$/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" />
<list default="true" id="00f4febb-36b6-426d-bfe6-b023876a617e" name="Default Changelist" comment="添加转换窗口方法">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/report/AI-XM_Report20210618182932.html" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/framework/logger.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/framework/logger.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveCourseTable/__init__.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveCourseTable/classStatus.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveCourseTable/enterClass.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveCourseTable/startClass.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveCourseTable/today.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveCourseTable/weekDay.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveCourseTable/weekName.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveRoom/__init__.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveRoom/coursewareTab.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveRoom/roomName.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/liveRoom/startPrompt.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/pageobject/mainpage.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/pageobject/mainpage.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/testcase/testLoginPage.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/testcase/testLoginPage.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" />
......@@ -157,7 +171,7 @@
<recent name="C:\Users\Administrator\PycharmProjects\xm-uitest-live" />
</key>
</component>
<component name="RunManager" selected="Python tests.pytest for testLoginPage.TestLoginPage.testLogin">
<component name="RunManager" selected="Python.main">
<configuration name="main" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="xm-uitest-live" />
<option name="INTERPRETER_OPTIONS" value="" />
......@@ -250,21 +264,21 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.main" />
<item itemvalue="Python tests.pytest for testLoginPage.TestLoginPage.testLogin" />
<item itemvalue="Python tests.pytest for testMainPage.TestMainPage.test_2_StartLive" />
<item itemvalue="Python.main" />
<item itemvalue="Python tests.pytest for testMainPage.TestMainPage.test_4_StartLive" />
<item itemvalue="Python tests.pytest for testMainPage.TestMainPage" />
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="false" />
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="SvnConfiguration">
<configuration>C:\Users\Administrator\AppData\Roaming\Subversion</configuration>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="f091fe1a-072c-4ac2-a8ca-080be739597a" name="Default Changelist" comment="" />
<changelist id="00f4febb-36b6-426d-bfe6-b023876a617e" name="Default Changelist" comment="添加转换窗口方法" />
<created>1620807921250</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
......@@ -333,7 +347,21 @@
<option name="project" value="LOCAL" />
<updated>1624007701385</updated>
</task>
<option name="localTasksCounter" value="9" />
<task id="LOCAL-00009" summary="添加转换窗口方法">
<created>1624011986682</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1624011986682</updated>
</task>
<task id="LOCAL-00010" summary="添加转换窗口方法">
<created>1624012198851</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1624012198851</updated>
</task>
<option name="localTasksCounter" value="11" />
<servers />
</component>
<component name="TestHistory">
......@@ -435,7 +463,8 @@
<MESSAGE value="rename" />
<MESSAGE value="同步" />
<MESSAGE value="登录-开课-结束课程-关闭客户端" />
<option name="LAST_COMMIT_MESSAGE" value="登录-开课-结束课程-关闭客户端" />
<MESSAGE value="添加转换窗口方法" />
<option name="LAST_COMMIT_MESSAGE" value="添加转换窗口方法" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/server.log" />
......
......@@ -11,7 +11,6 @@ if __name__ == '__main__':
testunit = unittest.TestSuite()
testunit.addTest(TLP('testLogin'))
testunit.addTests([TMP('test_1_UnStartLive'), TMP('test_2_StartLive'), TMP('test_3_ReviewLive')])
# testunit.addTests([TWP('testWordsEvaluation'), TWP('testWordReinforcement'), TWP('test_unit'), TWP('testOfflineDictation'), TWP('testPreview'), TWP('testShorthand'), TWP('testDictation'), TWP('testMemoryWrite'), TWP('testPostTest'), TWP('testReview'), TWP('testxiaoxiaole')])
# 定义报告输出路径
htmlPath = "./report/AI-XM_Report{}.html".format(common.year_to_minute())
......
......@@ -16,6 +16,12 @@ class Logger(object):
rq = common.year_to_minute()
today = common.year_to_day()
report_path = common.file_abspath() + '/report/'
if not os.path.exists(report_path):
os.mkdir(report_path)
log_path_dir = common.file_abspath() + '/logs/'
if not os.path.exists(log_path_dir):
os.mkdir(log_path_dir)
log_dir = common.file_abspath() + '/logs/' + today + '/'
# log_dir = os.path.abspath(__file__).split('src')[0] + '/logs/' + today + '/'
if not os.path.exists(log_dir):
......
from commom.appDriver import get_app_driver
from commom.login import app_login
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 直播课状态
def classStatus(driver):
driver.implicitly_wait(10)
classStatusElement = driver.find_element_by_class_name("classStatus")
print(classStatusElement)
print(classStatusElement)
print(classStatusElement)
return classStatusElement
if __name__ == '__main__':
classStatus(driver)
\ No newline at end of file
from commom.appDriver import get_app_driver
from commom.login import app_login
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 进入直播间
def enter_class(driver):
driver.implicitly_wait(5)
enter_btn = driver.find_element_by_class_name("ant-btn")
print(enter_btn)
driver.find_element_by_class_name("ant-btn").click()
driver.implicitly_wait(3)
btn = driver.find_element_by_css_selector("button[class='ant-btn']")
print(btn.size)
print(btn.text)
return enter_btn
if __name__ == '__main__':
enter_class(driver)
from commom.appDriver import get_app_driver
from commom.login import app_login
from time import sleep
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 进入直播间
def start_class(driver):
sleep(3)
driver.find_element_by_class_name("ant-btn").click()
sleep(3)
driver.find_element_by_class_name("ant-btn").click()
return start_class
if __name__ == '__main__':
start_class(driver)
from commom.appDriver import get_app_driver
from commom.login import app_login
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 课表-今天
def today(driver):
driver.implicitly_wait(10)
todyElement = driver.find_element_by_class_name("today")
print(todyElement)
print(todyElement.size)
print(todyElement.text)
return todyElement
if __name__ == '__main__':
today(driver)
\ No newline at end of file
from commom.appDriver import get_app_driver
from commom.login import app_login
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 日历按钮-日期
def weekDay(driver):
driver.implicitly_wait(10)
weekDayElement = driver.find_element_by_class_name("weekday")
print(weekDayElement)
print(weekDayElement.size)
print(weekDayElement.text)
return weekDayElement
if __name__ == '__main__':
weekDay(driver)
\ No newline at end of file
from commom.appDriver import get_app_driver
from commom.login import app_login
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 日历按钮-星期
def weekName(driver):
driver.implicitly_wait(20)
element = driver.find_element_by_class_name("weekName")
print(element)
print(element.size)
print(element.text)
return element
if __name__ == '__main__':
weekName(driver)
from commom.appDriver import get_app_driver
from commom.login import app_login
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 添加课件
def coursewareTab(driver):
driver.implicitly_wait(10)
coursewareTabElement = driver.find_element_by_class_name("CoursewareTab")
print(coursewareTabElement)
print(coursewareTabElement)
print(coursewareTabElement)
return coursewareTabElement
if __name__ == '__main__':
coursewareTab(driver)
\ No newline at end of file
from commom.appDriver import get_app_driver
from commom.login import app_login
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 直播间header-课程名称
def roomName(driver):
driver.implicitly_wait(10)
roomNameElement = driver.find_element_by_class_name("roomName")
print(roomNameElement)
print(roomNameElement)
print(roomNameElement)
return roomNameElement
if __name__ == '__main__':
roomName(driver)
\ No newline at end of file
from commom.appDriver import get_app_driver
from commom.login import app_login
driver = get_app_driver(r'C:\Users\Administrator\AppData\Local\Programs\xmqxy\小麦企学院.exe')
app_login(driver)
# 直播时间已到,提示是否开始上课-是/否
def startPromt(driver):
driver.implicitly_wait(10)
startPromtElement = driver.find_element_by_class_name("ant-btn")
print(startPromtElement)
print(startPromtElement)
print(startPromtElement)
return startPromtElement
if __name__ == '__main__':
startPromt(driver)
\ No newline at end of file
from src.pageobject.loginpage import LoginPage
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
......@@ -75,3 +76,10 @@ class MainPage(LoginPage):
def get_btn_text(self, coursename):
self.in_live_btn = (By.XPATH, """//div[text()="{}"]/..//button[@class="ant-btn"]""".format(coursename))
return self.get_text(self.in_live_btn)
def page_down(self, coursename):
while True:
self.keys_down()
ele = EC.presence_of_element_located((By.XPATH, """//div[text()={}]/..//button[@class="ant-btn ant-btn-primary"]""".format(coursename)))
if ele:
break
......@@ -14,7 +14,7 @@ class TestLoginPage(unittest.TestCase):
def setUp(self) -> None:
print(11111)
# 指定Pc端的本地路径,在/config/config.ini配置
# 指定客户端的本地路径,在/config/config.ini配置
self.driver = get_app_driver(self.cloud_class_location)
def tearDown(self) -> None:
......
......@@ -3,10 +3,6 @@ from src.pageobject.mainpage import MainPage
from src.framework.common import create_a_live
from src.framework.appDriver import get_app_driver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from config import readConfig
import unittest
......@@ -18,7 +14,7 @@ class TestMainPage(unittest.TestCase):
live_course_name = create_a_live(start_time=25, start_time2=1)
def setUp(self) -> None:
# 指定Pc端的本地路径,在/config/config.ini配置
# 指定客户端的本地路径,在/config/config.ini配置
self.driver = get_app_driver(self.cloud_class_location)
def tearDown(self) -> None:
......@@ -32,17 +28,12 @@ class TestMainPage(unittest.TestCase):
main_page.sleep(15)
main_page.login()
main_page.sleep(2)
while True:
main_page.keys_down()
ele = EC.presence_of_element_located((By.XPATH, """//div[text()={}]/..//button[@class="ant-btn ant-btn-primary"]""".format(self.live_course_name[0])))
if ele:
break
main_page.page_down(self.live_course_name[0])
main_page.sleep(1)
main_page.click_in_live_btn(self.live_course_name[0])
main_page.sleep(5)
driver = self.driver
var = driver.window_handles
driver.switch_to_window(var[-1])
main_page.change_window(main_page.camera_btn)
main_page.sleep(2)
self.assertTrue(main_page.ifElementExist(main_page.camera_btn))
main_page.sleep(3)
......@@ -55,11 +46,7 @@ class TestMainPage(unittest.TestCase):
main_page.sleep(15)
main_page.login()
main_page.sleep(60)
while True:
main_page.keys_down()
ele = EC.presence_of_element_located((By.XPATH, """//div[text()={}]/..//button[@class="ant-btn ant-btn-primary"]""".format(self.live_course_name[1])))
if ele:
break
main_page.page_down(self.live_course_name[1])
main_page.sleep(3)
main_page.click_in_live_btn(self.live_course_name[1])
main_page.sleep(5)
......@@ -88,11 +75,7 @@ class TestMainPage(unittest.TestCase):
main_page.sleep(15)
main_page.login()
main_page.sleep(5)
while True:
main_page.keys_down()
ele = EC.presence_of_element_located((By.XPATH, """//div[text()={}]/..//button[@class="ant-btn"]""".format(self.live_course_name[1])))
if ele:
break
main_page.page_down(self.live_course_name[1])
main_page.sleep(1)
main_page.click_in_live_btn(self.live_course_name[1])
main_page.sleep(5)
......
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