阅读量:0
此篇文章为总结性,将pystest、selenium、allure结合起来
功能如下,web自动化,输入baidu网站,搜索“雷军”、打开网页中第一条内容
tools.webkeys 相关文件见附件。
pytestsel.py如下:
import time import re import allure import pytest from tools.webkeys import Web @allure.feature('#1 电商测试用例demo') class Test_Obj: def setup_class(self): self.web = Web() self.web.open_browser() @allure.story('#1 打开百度') def test_baidu(self): allure.dynamic.title('登录') allure.dynamic.description('登录百度的描述') with allure.step('输入网址'): self.web.get_url('http://www.baidu.com') time.sleep(3) with allure.step('输入搜索关键字'): self.web.input('kw','雷军') time.sleep(3) with allure.step('点击搜索'): self.web.click('su') time.sleep(3) with allure.step('获取outerHTML'): str = self.web.get_attribute('content_left','outerHTML') allure.attach(self.web.driver.get_screenshot_as_png(), '执行成功', allure.attachment_type.PNG) with allure.step('跳转到第一个链接'): reg = r'mu="(.*?)"\s' url = re.findall(reg, str) self.web.get_url(url[0]) allure.attach(self.web.driver.get_screenshot_as_png(), '执行成功', allure.attachment_type.PNG) time.sleep(10) self.web.driver.quit()
程序执行入口
import os import pytest if __name__ == '__main__': #window下删除报告的命令 os.system('rd /s/q result') os.system('rd /s/q result') # pytest.main(['-s', 'pytestallure.py', '--alluredir', './result']) pytest.main(['-s', 'pytestsel.py', '--alluredir', './result']) os.system('allure generate result -o report --clean')