UI自动化框架遇到的一些question(持续更新)
作者:互联网
框架:pytest + selenium + poium (基于python语言)
1、多条测试用例基于登录之后才能做后续操作
解决思路:建立登录函数(or登录类)供其他测试用例统一调用;
遇到问题:登录函数or登录类参数自定义为brower、base_url;测试用例调用一直报错,错误栈信息如下:
INTERNALERROR> File "C:\Users\rwxwin10\AppData\Local\Programs\Python\Python38\lib\site-packages\pluggy\callers.py", line 203, in _multicall INTERNALERROR> gen.send(outcome) INTERNALERROR> File "f:\testproject\graspAutoTest\conftest.py", line 76, in capture_screenshots INTERNALERROR> raise NameError('没有初始化测试报告目录') INTERNALERROR> NameError: 没有初始化测试报告目录
INTERNALERROR> return outcome.get_result() INTERNALERROR> File "C:\Users\rwxwin10\AppData\Local\Programs\Python\Python38\lib\site-packages\pluggy\callers.py", line 80, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "f:\testproject\graspAutoTest\conftest.py", line 34, in pytest_html_results_table_row INTERNALERROR> cells.insert(1, html.td(report.description)) INTERNALERROR> AttributeError: 'CollectReport' object has no attribute 'description'
修复bug:登录函数和登录类的参数设置导致的bug,截图信息如下
应改为:
2、pytest、selenium测试用例,有弹窗的情况无法截屏
原因是alert弹框不在DOM中,是一个独立的窗口,此时可以用robot模拟键盘截屏,如下:
Image=newRobot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(image, "png", new File(dirName + File.separator + fileName + ".png"));
3、pytest预期失败生成html报告的钩子
@pytest.mark.xfail(raises=AssertionError) 加在方法前4、
标签:登录,INTERNALERROR,py,question,pytest,UI,File,自动化,测试用例 来源: https://www.cnblogs.com/gocean/p/15206349.html