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