UI自动化测试花费的成本较高,适用于以下场景
UI自动化项目结构如下
1.在configs\account.py中设置用户名和密码
username = "xiajing001"password = "123456"
2.在configs\env.py中配置系统环境
# 配置环境变量# test测试环境# online线上环境current_env = "test" env_dict = {"test":"https://","online":"https://" }if __name__ == '__main__':print(env_dict[current_env])
3.在common\mydriver.py 中定义通用的driver和登录方法
要提前下载好和自己电脑chrome浏览器版本对应的chromedriver
/mirrors/chromedriver/
from selenium import webdriverfrom UI.configs.env import env_dict,current_envfrom UI.configs.account import username,passwordclass Driver:def __init__(self): #初始化方法self.driver = webdriver.Chrome()#设置智能等待,最多等5秒self.driver.implicitly_wait(5)#最大化窗口self.driver.maximize_window()#访问到项目网址self.driver.get(env_dict[current_env])#登录self.login()def login(self):# 输入用户名self.driver.find_element_by_id().send_keys(username)# 输入密码self.driver.find_element_by_id().send_keys(password)# 点击登录self.driver.find_element_by_id().click()if __name__ == '__main__':Driver()
4.在test_case中写测试用例
import allurefrom mon.myDriver import Driverimport timeclass TestUserSearch:def test_user_search(self):with allure.step("打开浏览器,登录系统"):#打开一个空白浏览器my_driver = Driver()#对当前屏幕截图.截图保存到report文件夹中my_driver.driver.get_screenshot_as_file("./report/1.png")#将上一步截图附加进测试报告allure.attach.file("./report/1.png",attachment_type=allure.attachment_type.PNG)with allure.step(("点击系统用户列表")):#点开XX系统my_driver.driver.get("http://")time.sleep(3)#点击用户管理my_driver.driver.find_element_by_link_text("用户管理").click()time.sleep(1)# 点击用户列表my_driver.driver.find_element_by_link_text("用户列表").click()time.sleep(1)# 对当前屏幕截图.截图保存到report文件夹中,文件名相同会覆盖之前的图片,但是都会加到测试报告中my_driver.driver.get_screenshot_as_file("./report/1.png")# 将上一步截图附加进测试报告allure.attach.file("./report/1.png",attachment_type=allure.attachment_type.PNG)
5.在run.py中执行测试用例
import allure,osif __name__ == '__main__':pytest.main(['-sq','--alluredir','./report/tmp']) #-s输出打印信息,-q简化#使用allure产生报告os.system("allure serve ./report/tmp")
6.查看报告
如果觉得《Python UI自动化测试》对你有帮助,请点赞、收藏,并留下你的观点哦!