任务五 自动化测试
- 任务要求
题目1:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
1、设置智能时间等待5秒并将浏览器窗口最大化;
2、引入By方法类;
3、通过NAME方法定位用户名输入框,并输入用户名XTGLY;
4、通过NAME方法定位密码输入框,并输入密码123456;
5、使用CLASS_NAME方法进行登录提交;
6、通过PARTIAL_LINK_TEXT方法定位供应商信息按钮,并使用click()方法点击;
7、通过LINK_TEXT复数定位方法点击页面中第一条数据的查看按钮;
8、通过window_handles方法将标签页切换到第二个标签;
9、增加3秒强制时间等待;
10、使用get_screenshot_as_file对页面进行截图操作(命名为test_handles.png,存放在D盘根目录下);
11、使用CSS_SELECTOR方法定位并点击查看供应商弹窗右上角的X。
题目2:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
1、搭建unittest框架;
2、引入By方法类;
3、定义setUp方法启动浏览器,增加3秒的智能等待,将浏览器窗口最大化;
4、定义tearDown方法关闭浏览器;
5、定义test_denglu01方法进入系统登录页面,通过CLASS_NAME方法定位用户名输入框,通过ID方法定位密码输入框并输入账号和密码(XTGLY/123456),通过XPATH方法定位并点击登录按钮;
6、定义test_denglu02方法进入系统登录页面,通过NAME方法定位用户名输入框,通过CSS_SELECTOR方法定位密码输入框并输入账号和密码(XTGLY/123456),通过TAG_NAME定位登录按钮并点击,通过PARTIAL_LINK_TEXT方法定位并点击“供应商信息”按钮,使用XPATH点击第一条数据的查看按钮,通过window_handles方法将标签页切换到第二个标签,点击查看供应商弹窗右上角的X,使用get_screenshot_as_file对页面进行截图操作;
7、通过unittest.main()方法执行测试用例。
题目3:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
测试数据:
商品分类名称 | 预期结果 |
111111111111111111111 | 商品分类名称输入有误,请重新输入。 |
步骤1:新建csv格式的测试数据testdata.csv,并编写csvv.py脚本读取csv中的测试数据。
步骤2:新建test01.py:
1、引入步骤1中的写好的数据读取的方法以及ddt方法类;
2、引入By方法类;
3、搭建unittest框架;
4、在setUp中打开谷歌浏览器,增加5秒的智能时间等待,将浏览器窗口最大化;
5、在tearDown中退出浏览器;
6、新建测试用例,通过TAG_NAME复数方法定位用户名输入框,并输入用户名XTGLY;
7、通过CLASS_NAME方法定位密码输入框,并输入密码123456;
8、查看登录页面中的登录按钮元素,通过NAME方法定位登录按钮,使用click()方法点击登录按钮进入系统首页;
9、通过PARTIAL_LINK_TEXT方法进行定位,使用click()方法点击“商品分类”按钮;
10、通过TAG_NAME复数方法点击“新增”按钮;
11、通过CSS_SELECTOR方法定位商品分类名称输入框并使用数据驱动输入“商品分类名称”;
12、通过XPATH方法定位并点击“保存”按钮;
13、通过CLASS_NAME方法定位并获取提示信息文字,通过assertEqual断言方法来验证预期结果和实际结果是否一致,如果不一致进行截图操作;
14、通过unittest.main()方法执行测试用例。
题目4:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
根据测试用例编写脚本:
PO框架参考图(仅供参考,具体命名以题目要求为准):
1、新建EPR_PO文件夹;
2、在EPR_PO文件夹下新建driver文件夹和Website文件夹;
3、在driver文件夹下新建driver.py文件存放浏览器驱动;
4、在Website文件夹下新建test_case文件夹、test_report文件夹、test_data文件夹;
5、在test_case文件夹下新建model文件夹和page_object文件夹;
6、在model文件夹下新建function.py文件封装截图、数据驱动读取等方法;
7、在model文件夹下新建myunit.py文件封装unittest框架中的Setup(添加5秒的智能等待和浏览器窗口最大化)和tearDown(退出浏览器)等方法;
8、在page_object文件夹下新建BasePage.py文件封装selenium的基础操作类方法(get、find_element等);
9、在page_object文件夹下新建LogingPage.py文件,引入BasePage.py中封装好的方法,引入By方法类,封装登录用例页面元素位置和操作(使用CLASS_NAME方法封装用户名输入框,使用NAME方法封装密码输入框、使用ID方法封装登录按钮位置,封装输入用户名、密码、点击登录按钮等操作);
10、在page_object文件夹下新建AddPage.py文件,引入BasePage.py中封装好的方法,引入By方法类,封装好商品分类添加页面元素(使用PARTIAL_LINK_TEXT方法封装商品分类按钮,使用CSS方法封装新增按钮,使用XPATH方法封装商品分类名称输入框,使用CSS方法封装保存按钮,封装点击商品分类按钮、点击新增按钮、输入商品分类名称、点击保存按钮等操作),封装添加成功以及添加失败的提示信息文字;
11、在test_report文件夹新建srceenshot文件夹存放测试截图;
12、在test_data文件夹新建test_csv.csv文件存放测试数据;
13、在test_case文件夹下新建test_add.py文件,引入unittest、ddt以及之前封装好的model,LoginPage,AddPage中的方法类,根据用例编写6条测试用例脚本,创建data参数来接收测试数据,并使用数据驱动输入用户名和密码(XTGLY/123456),使用数据驱动输入商品分类名称,然后进行截图操作,最后对每一条测试用例进行assertIn断言操作,对比提示信息是否和预期一致;
14、在Website文件夹下新建run_test.py文件使用discover方法执行test_add.py测试用例并引入HTMLTestRunner方法生成html测试报告(测试报告title名为:Test Report,description内容为erp test)。
- 报告编写
根据自动化测试情况,参考自动化测试报告模版,按要求编写自动化测试脚本并将全部脚本粘贴到模板中,完成自动化测试报告。