①操作多选的选择列表
被测HTML代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>操作多选列表</title> </head> <body> <select name="fruit" size="6" multiple=true> <option id="peach" value="taozi">桃子</option> <option id="watermelon" value="xigua">西瓜</option> <option id="orange" value="juzi">橘子</option> <option id="kiwifruit" value="nihoutao">猕猴桃</option> <option id="maybush" value="shanzha">山楂</option> <option id="litchi" value="lizhi">荔枝</option> </select> </body> </html>
调用API实例代码
实例代码
输出
说明
运行这段代码看到的效果是,先选择3个选项并打印被选择的选项的文本值,再次选中3个选项并取消之前被选中的3个选项,对于可以多选的操作列表,上面的几个方法是很实用的,当然实际中可能遇见各种不同的情况,还需多积累经验对不同问题用不同方法。
②操作可以输入的下拉列表(输入的同时模拟按键)
被测HTML代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>操作可输入下拉列表,输入的同时模拟按键</title> </head> <body> <div style="position:relative;"> <input list="pasta" id="select"> <datalist id="pasta"> <option>Bavette</option> <option>Rigatoni</option> <option>Fiorentine</option> <option>Gnocchi</option> <option>Tagliatelle</option> <option>Penne lisce</option> <option>Pici</option> <option>Pappardelle</option> <option>Spaghetti</option> <option>Cannelloni</option> <option>Cancl</option> </datalist> </div> </body> </html>
调用API实例代码
操作可输入下拉列表
说明
运行这段代码可以看到输入框输入c的同时下拉选项会筛选出数据,且选中筛选出的第一项,但是在某些浏览器中不会看到效果(我写完运行时看到的效果就没有)。keys模块提供了很多其他的模拟按键,可以通过dir()查看Keys的功能
③操作单选框
被测HTML代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>操作单选框</title> </head> <body> <form> <input type="radio" name="fruit" value="berry" />草莓</input> <br /> <input type="radio" name="fruit" value="watermelon" />西瓜</input> <br /> <input type="radio" name="fruit" value="orange" />橙子</input> </form> </body> </html>
调用API实例代码
实例代码
④操作复选框
被测HTML代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>操作复选框</title> </head> <body> <form name="form1"> <input type="checkbox" name="fruit" value="berry" />草莓</input> <input type="checkbox" name="fruit" value="watermelon" />西瓜</input> <input type="checkbox" name="fruit" value="orange" />橙子</input> </form> </body> </html>
调用API实例代码
实例代码
⑤断言页面源码中的关键字
被测地址
http://www.baidu.com
实例代码
说明
有时候会出现页面存在要断言的关键字,但是结果仍然断言失败, 这有可能是由于页面没有加载完全就开始断言语句, 导致要断言的内容在页面源码中找不到。
⑥对当前浏览器窗口截屏
被测地址
http://www.baidu.com
实例代码
截图
说明
调用截屏函数get_screenshot_as_file()截图成功后会返回True,如果发生了IOError异常,会返回False。函数中传递的参数可以是绝对路径也可以是相对路径;当自动化测试过程中,未实现预期结果,可以将页面截图保存,方便更快速地定位问题。
⑦拖拽页面元素
被测地址
http://jqueryui.com/resources/demos/draggable/scroll.html
调用API实例代码
实例代码
说明:ActionChains模块在前面已经涉及到过了,所有的和鼠标操作有关的动作都需要使用此模块模拟
⑧模拟键盘单个按键操作
被测地址
http://www.sogou.com
调用API实例代码
实例代码
说明
有些电脑运行这个代码可能看不到效果,因为有的电脑的F12键 是需要和Fn组合才能生效的。
总结
今天的整理到此结束,说实话我不知道对读到我文章的人帮助有多大,但是对我个人而言是又经历了一次知识的梳理。把之前忘记的也都慢慢的想起来了,虽然每个实例看着都挺简单的,其实耗费了我很多精力和时间,因为我想让读到我博客的人只看一次代码只运行一次实例就能知道实现的是什么功能,能把这个功能应用到复杂的测试场景中。其实这也是我自己的一次自我总结把!
如果你想学习自动化测试,那么下面这套视频应该会帮到你很多
如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....
最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了
以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。