记录学习笔记
自动化就是把手动全部改为机器操作,在web端主要有鼠标点击、键盘输入两大类操作。自动化就是要把这两大类用代码来控制电脑实现。
一、鼠标操作
鼠标主要作用是点击,或者按住滑动(这是验证滑块的操作,下一篇讲解)
点击操作的代码就是click,那么点击哪里,怎么让电脑确定需要点击的位置?
这是在web端测试的重点。
打开浏览器,进入需要自动化测试的网站,将鼠标移动到需要进行操作的位置,下面以edge浏览器为例。
目标:自动化进入CSDN官网,点击标题栏的“博客”。
1.CSDN官网网址:https://www.csdn.net
2.手动进入官网,获取“博客”的地址信息
操作后,在浏览器的侧边或者下方会出现一堆代码,可以明显的看到,其中有一段代码是被框选住且突出显示的。
这时,我们就获取到了“博客”图标的链接地址,那么怎么使用呢?
这里就需要我们前面的浏览器来操作了,我们的浏览器被赋给了driver,后面就可以用driver来指代浏览器,xpath是一个定位方法,它定位的是地址,我们使用find_element来查找xpath,通过xpath代表的地址代码来锁定搜索框。
3.编写代码
地址确定后,对整体操作,可以在后面直接加上.click,也可以先把整体赋给一个变量,然后对这个变量进行click操作。
driver.find_element('xpath','//*[@id="csdn-toolbar"]/div/div/div[1]/ul/li[1]/a').click()
这里不是说只有xpath一种定位方法,而是xpath准确高效,常用xpath。
代码写好后,来检验一下效果。
鼠标点击操作验证
二、键盘操作
键盘主要是输入,这里使用的代码是send_keys,同样需要获取地址的xpath,与鼠标操作获取一样,这里我们获取搜索框的地址,并且在搜索框内输入“软件测试”
编写代码
driver.find_element('xpath','//*[@id="toolbar-search-input"]').send_keys('软件测试')
这时,我们就完成了任务。
但是在测试时,发现浏览器自动测试速度太快,看不到代码有没有被执行。
这里,就要添加一个等待时间,让我们能够看到。使用固定等待(time)
固定等待时间代码
#需要导入等待时间的包
import time
#使用固定等待时间,数字为秒
time.sleep(3)
到此为止,任务代码编写完毕,进行验证测试。
检验效果
键盘操作输入内容
键盘有输入,还需要清空,这里使用的是clear(),即清空内容。同样是找到搜索框的地址,对其中的内容进行清空。
编写代码
driver.find_element('xpath','//*[@id="toolbar-search-input"]').clear()
检验效果
键盘操作清除内容