任务二 自动化测试
一、任务要求
题目1:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
1、设置智能时间等待3秒并将浏览器窗口最大化;
2、引入By方法类;
3、通过CLASS_NAME方法定位用户名输入框,并输入用户名XTGLY;
4、通过CLASS_NAME方法定位密码输入框,并输入密码123456;
5、通过ID方法定位登录按钮,使用click()方法点击登录按钮;
6、通过LINK_TEXT方法定位客户信息按钮,并使用click()方法点击;
7、使用LINK_TEXT复数方法定位页面中第一条数据的查看的target属性并且对target属性进行删除;
8、点击页面中第一条数据的查看按钮;
9、增加2秒强制时间等待;
10、使用get_screenshot_as_file对页面进行截图操作;
11、使用CSS_SELECTOR方法点击查看客户弹窗右上角的X;
12、通过quit方法关闭浏览器。
题目2:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
1、搭建unittest框架;
2、引入By方法类;
3、定义setUp方法启动浏览器,增加3秒的智能等待,将浏览器窗口最大化;
4、定义tearDown方法关闭浏览器;
5、定义test_denglu01方法进入系统登录页面,通过ID方法复数形式定位用户名输入框,通过TAG_NAME方法复数形式定位密码输入框并输入账号和密码(XTGLY/123456),通过CLASS_NAME方法定位并点击登录按钮;
6、定义test_denglu02方法进入系统登录页面,通过NAME方法定位用户名输入框,通过CLASS_NAME方法定位密码输入框并输入账号和密码(XTGLY/123456),通过XPATH定位并点击登录按钮,通过PARTIAL_LINK_TEXT方法定位并点击“供应商信息”按钮,通过TAG_NAME方法复数形式定位并点击第一条信息的禁用按钮,使用CSS_SELECTOR方法点击弹窗中的取消按钮;
7、通过unittest.main()方法执行测试用例。
题目3:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
测试数据:
商品品牌名称 预期结果
商品品牌名称必填,请重新输入。
步骤1:新建csv格式的测试数据testdata.csv,并编写readder.py脚本读取csv中的测试数据。
步骤2:新建test01.py:
1、引入步骤1中的写好的数据读取的方法以及ddt方法类;
2、引入By方法类;
3、搭建unittest框架;
4、在setUp中打开谷歌浏览器、增加5秒的智能时间等待并将浏览器窗口最大化;
5、在tearDown中退出浏览器;
6、新建测试用例,通过ID属性定位用户名输入框,并输入用户名XTGLY;
7、通过NAME属性定位密码输入框,并输入密码123456;
8、查看登录页面中的登录按钮元素,通过CLASS_NAME方法定位登录按钮,使用click()方法点击登录按钮进入系统首页;
9、通过LINK_TEXT方法进行定位,使用click()方法点击“商品品牌”按钮;
10、通过CSS_SELECTOR方法点击“新增”按钮;
11、通过数据驱动输入“商品品牌名称”;
12、通过CSS_SELECTOR方法定位并点击“保存”按钮;
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方法类,封装登录用例页面元素位置和操作(使用ID方法封装用户名输入框,使用NAME方法封装密码输入框、使用CLASS方法封装登录按钮位置,封装输入用户名、密码、点击登录按钮等操作);
10、在page_object文件夹下新建AddPage.py文件,引入BasePage.py中封装好的方法,引入By方法类,封装好商品品牌添加页面元素(使用LINK_TEXT方法封装商品品牌按钮,使用XPATH方法封装新增按钮,使用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)。
二、报告编写
根据自动化测试情况,参考自动化测试报告模版,按要求编写自动化测试脚本并将全部脚本粘贴到模板中,完成自动化测试报告。