在Web端自动化测试中,登录和退出功能是主要测试的功能之一,网站的资源访问、信息查询等功能都需要在正常登录的状态下才能正常访问。下面以测试博学谷网站的登录和退出功能为例讲解Web应用程序的自动化测试。
1.选择测试使用的浏览器
打开Pycharm,导人Selenium自动化测试脚本需要的库。定义测试使用的浏览器,可使用不同浏览器进行测试,本案例在测试时使用火狐浏览器进行测试。测试代码如下所示。
# 导人Web测试驱动库
from selenium import webdriver
#导人交互操作ActionChains(鼠标指针悬停、滚动、拖放等操作)
from selenium.webdriver.common.action chains import ActionChains
#选择需要测试的浏览器
driver=webdriver.Firefox()
#等待加载超时时间
driver.implicitly_wait (30)
# 打开博学谷主页
driver.get("https://www.boxuegu.com/")
需要注意的是,使用不同浏览器测试时,需要安装测试浏览器的驱动。
2.登录和退出自动化测试
配置完成测试使用的测览器后,使用浏览器自带的开发工具查看页面属性,也可以使用Katalon Recorder工具获取网页属性信息。
打开博学谷网页,查看登录和退出元素所在位置。由于退出操作只有当鼠标指针悬停。
在【个人中心】时,在弹出的菜单中单击【退出】选项才能退出登录,因此在退出时,需要先获取【个人中心】按钮属性信息进行鼠标指针悬停操作,然后在弹出菜单中单击【退出】测试代码如下所示。
# 获取登录按钮ID进行单击操作
driver.finde_lement_by_id("login-button").click()
#选定账号输人框
driver.find_elements_by_xpath("/html/body/div[13]/div/div/div[2]/div[1]/input")#输入账号
driver.find_element.by_xpath(u"(.//*[@id='login']/div/div/div[2]/divl[]/input)").send keys('账号')
#选定密码输入框
driver.find_elementby_xpath("/html/body/div[13]/div/div/div[2]/div[2]/input") .click()#输人密码
driver.find_elementby_xpath(u"(./html/body/div[13]/div/div/div[2]/div[2] /input)").send_keys('密码')
#单击[登录]按钮
driver.find_element by_xpath("/html/body/div[13]/div/div/div[2]/button").click()
#定义需要查找的属性信息
mouse=driver.find_element_by_id("personal")
#鼠标指针悬停操作,鼠标指针指向个人中心菜单后会显示下拉菜单
ActionChains(driver).move_to_element(mouse).perform()
#在[个人中心]的下拉菜单中单击[退出]选项
driver.find element_by_css_selector("span.sign-out").click()
在上述代码中,使用的网页属性有id、xpath、CSS Selectoro编写测试脚本有一定难度,要求测试人员熟练掌握WebDriver驱动接口脚本语言Python API,读者可以通过参考官方API手册进行测试练习以迅速熟悉Web网页测试。