自动化测试
一、任务要求
题目1:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
1. 设置智能时间等待3秒;
2. 引入By方法类;
3. 通过NAME属性定位用户名输入框,并输入用户名XTGLY;
4. 通过ID属性定位密码输入框,并输入密码123456;
5. 通过TAG_NAME方法定位登录按钮,使用click()方法点击登录按钮;
6. 通过LINK_TEXT方法定位仓库信息按钮并使用click()方法点击;
7. 通过TAG_NAME的复数形式定位并点击仓库信息中的第一个仓库的“禁用”按钮;
8. 通过alert方法中的accept方法关闭第一个弹窗;
9. 使用get_screenshot_as_file对页面进行截图操作(命名为test_accept01.png,存放在D盘根目录下)。
题目2:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
1. 搭建unittest框架;
2. 引入By方法类;
3. 定义setUp方法启动浏览器,增加3秒的智能等待,将浏览器窗口最大化;
4. 定义tearDown方法关闭浏览器;
5. 定义test_denglu01方法进入系统登录页面,通过CLASS_NAME方法定位用户名输入框,通过NAME方法定位密码输入框并输入账号和密码(XTGLY/123456),通过ID方法定位并点击登录按钮;
6. 定义test_denglu02方法进入系统登录页面,通过NAME方法定位用户名输入框,通过ID方法定位密码输入框并输入账号和密码(XTGLY/123456),通过TAG_NAME定位登录按钮并点击,使用XPATH点击商品管理页面的新增按钮,使用send_keys上传图片并使用get_screenshot_as_file方法对页面进行截图;
7. 通过unittest.main()方法执行测试用例。
题目3:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。
测试数据:
商品分类名称 |
预期结果 |
商品分类名称必填,请重新输入。 |
步骤1:新建csv格式的测试数据testdata.csv,并编写csvv.py脚本读取csv中的测试数据。
步骤2:新建test01.py:
1. 引入步骤1中的写好的数据读取的方法以及ddt方法类;
2. 引入By方法类;
3. 搭建unittest框架;
4. 在setUp中打开谷歌浏览器,增加5秒的智能时间等待,将浏览器窗口最大化;
5. 在tearDown中退出浏览器;
6. 新建测试用例,通过ID属性定位用户名输入框,并输入用户名XTGLY;
7. 通过NAME属性定位密码输入框,并输入密码123456;
8. 查看登录页面中的登录按钮元素,通过TAG_NAME方法定位登录按钮,使用click()方法点击登录按钮进入系统首页;
9. 通过LINK_TEXT方法进行定位,使用click()方法点击“商品分类”按钮;
10. 通过XPATH方法点击“新增”按钮;
11. 通过CLASS_NAME方法定位商品分类名称输入框并使用数据驱动输入“商品分类名称”;
12. 通过XPATH方法定位并点击“保存”按钮;
13. 通过LINK_TEXT方法定位并获取提示信息文字,通过assertEqual断言方法来验证预期结果和实际结果是否一致,如果不一致使用get_screenshot_as_file对页面进行截图操作;
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. 在test_report文件夹下新建BasePage.py文件封装selenium的基础操作类方法(get、find_element等);
9. 在test_report文件夹下新建LogingPage.py文件,引入BasePage.py中封装好的方法,引入By方法类,封装登录用例页面元素位置和操作(使用ID方法封装用户名输入框,使用NAME方法封装密码输入框、使用CLASS方法封装登录按钮位置,封装输入用户名、密码、点击登录按钮等操作);
10. 在test_report文件夹下新建AddPage.py文件,引入BasePage.py中封装好的方法,引入By方法类,封装好商品品牌添加页面元素(使用LINK_TEXT方法封装商品品牌按钮,使用XPATH方法封装新增按钮,使用XPATH方法封装商品品牌名称输入框,使用CSS方法封装保存按钮,封装点击商品品牌按钮、点击新增按钮、输入商品品牌名称、点击保存按钮等操作),封装添加成功以及添加失败的提示信息文字;
11. 在test_report文件夹新建srceenshot文件夹存放测试截图;
12. 在test_data文件夹新建test_csv.csv文件存放测试数据;
13. 在test_report文件夹下新建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)。
二、报告编写
根据自动化测试情况,参考自动化测试报告模版,按要求编写自动化测试脚本并将全部脚本粘贴到模板中,完成自动化测试报告。