软件测试学习笔记丨 Selenium 执行 JavaScript 脚本
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30855
一、简介
JavaScript 是一种脚本语言,简称 js。有的场景需要使用 js 脚本注入,辅助我们完成 Selenium 无法做到的事情。
当 WebDriver 遇到无法完成的操作时,可以使用 JavaScript 来完成,WebDriver 提供了 execute_script()方法来调用 js 代码。
JavaScript 是一种具有函数优先的轻量级、解释型或即时编译的编程语言。可以嵌入到 HTML 页面对浏览器时间做出响应,也可以基于 Node.js 技术进行服务器端编程。
二、场景应用
2.1 自动化测试中的应用
部分场景使用 Selenium 原生方法无法解决: 修改时间控件 滚动到某个元素 其他场景
2.2 执行 js 的两种场景
在页面上直接执行 js;
在某个已经定位的元素上执行 js。
三、使用思路
3.1 页面调试 js 脚本
js 脚本-调试方法:
进入 console 调试;
js 脚本如果又返回值,则会在浏览器返回。
js 脚本-元素操作(通过 css 查找):
点击元素(对应 click)
input 标签对应的值(对应 send_keys)
元素的类属性
元素的文本属性
js 脚本-滚动操作
页面滚动到底部
指定到滚动的位置
3.2 Selenium 执行 js
3.2.1 执行 js
Selenium 可以通过 execute_script()来执行 JavaScript 脚本。driver.execute_script:同步执行 JavaScript 在当前的窗口框架下。js 脚本可以在浏览器的开发者工具->console 中进行调试。
3.2.2 js 的返回结果
获取元素控件中的属性值,与 Selenium 结合,在代码中返回 js 结果。
Python 语法:
3.2.3 arguments 传参
执行 JavaScript 也可以通过传参的方式传入元素信息,还可以通过下面的方法点击被遮挡的元素。
例如:某个元素在实际的操作过程中被其他元素遮挡,就可以使用 js 点击的方式。
Python 语法
四、实战
以企业微信为例,使用 js 点击添加图片。
Python 语法:
软件测试开发免费视频教程分享
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/4dd2fa904789f12c1ec0052f1】。文章转载请联系作者。
评论