此篇文章为总结性,将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 osimport pytestif __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')