上一个博客介绍了一个医药管理系统的搭建,这篇主要是用一个医药管理系统登录的案例,做web自动化,使用HTMLTestRunner生成一个测试报告。
1、web自动化测试代码编写
对登录页面做web自动化测试,分别测试登录成功和不填写用户名密码登录失败的情况,对测试结果做断言。登录成功的测试步骤:(1)输入用户名、输入密码、点击登录 (2)进入登录后的页面选取元素做断言
这里右键点击页面--点击检查,可以查看页面源代码,点击最左边方框+小箭头,在点击User Id输入框,源代码就会对选中部分高亮,这里可以通过ID定位用户名密码,通过Xpath定位登录按钮
这里是用户登录后成功进入管理系统的页面,这里可以通过是否能够定位到admin,判断用户是否登录成功,这里就是定位admin,获取元素的文本信息。
第二个是不填写用户名密码,直接点登录的情况,这里就出现了一个弹出框,我们回顾一下之前学到的弹出框知识,自动化出现的弹出框两种,一直是自定义的弹出框,可以直接通过浏览器开发者工具查看到元素信息,另一种js的弹出框,需要转换到allert框内,e1 = driver.switch_to.alert ,选择确定e1.accept()或者取消e1.dismiss()
这里是可以直接通过浏览器开发者工具查看到,这里主要通过使用contains对里面文本进行定位。
因为每次测试都需要获取驱动和关闭浏览器,所以用了一个方法级别的夹具setUp(),tearDown(),在第一次测试时没有使用等待,导致测试时报错找不到元素,因此设置了一个隐式等待。
from selenium import webdriver
i