首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《手把手教你》系列技巧篇(三十九)-java+ selenium自动化测试-JavaScript的调用执行-上篇(详解教程)

2.用法   创建一个执行 JS 的对象,也就是 JavascriptExecutor 对象,这个对象是由 driver 进行强制类型转换而来,即JavascriptExecutor js= (JavascriptExecutor...//执行方式 JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; jsExecutor.executeScript("js代码");...4.1代码设计 4.2参考代码 package lessons; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver...; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import...本人试用了一下,得到的结果是 以此可见,Chrome依然遵循上面的标准,使用document.documentElement.scrollTop方式,得到height值 其实在实际使用中,为确保在各个浏览器中的正常使用

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

《手把手教你》系列技巧篇(四十九)-java+ selenium自动化测试-隐藏元素定位与操作(详解教程)

2.什么是隐藏元素 隐藏元素,熟悉前端的或者HTML的小伙伴或者童鞋们一定陌生,元素的属性隐藏和显示,主要是 type="hidden"和style="display: none;"属性来控制的,当然了还有其他的方法控制...4.操作隐藏元素 大家也都知道selenium操作方法是通过模拟人的操作方法进行的,那么元素都看不到了,就没有所谓的操作操作了,如果真的想要操作,我们可以使用前边宏哥介绍的JS语法进行操作,因为JS语法属于直接对前端的代码进行操作...5.JS操作隐藏元素   selenium是无法操作隐藏元素的(但是能正常定位到),本身这个框架就是设计如此,如果非要去操作隐藏元素,那就用js的方法去操作,selenium提供了一个入口可以执行js脚本...js和selenium不同,只有页面上有的元素(在dom里面的),都能正常的操作,接下来用js试试吧! 那就继续完善上边可以定位到但是不能操作的代码。...5.1代码设计 5.2参考代码 package lessons; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor

2.6K150

《手把手教你》系列技巧篇(四十)-java+ selenium 测试-JavaScript的调用执行-下篇

1.简介  在实际工作中,我们需要对处理的元素进行高亮显示,或者有时候为了看清楚做跟踪鼠标点击了哪些元素需要标记出来。今天宏哥就在这里把这种测试场景讲解和分享一下。...2.用法   创建一个执行 JS 的对象,也就是 JavascriptExecutor 对象,这个对象是由 driver 进行强制类型转换而来,即JavascriptExecutor js= (JavascriptExecutor...//执行方式 JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; jsExecutor.executeScript("js代码");...; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement...对象 JavascriptExecutor js= (JavascriptExecutor)driver; username.sendKeys("abcdefg

1.7K20

selenium2java基本方法二次封装

本人在使用selenium做测试的时候,封装了很多方法,由于工作原因估计很长时间不会更新方法库了,中间关于js的部分还差一些没有完善,其中设计接口的部分暂时就先不发了,以后有机会在更新。....*; //import org.openqa.selenium.chrome.*; //import org.openqa.selenium.ie.*; import org.openqa.selenium.firefox....*; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.Select; public...;//网站保存离线数据时不通知我 profile.setPreference("browser.helperApps.alwaysAsk.force", false);//应用程序设置询问...;//网站保存离线数据时不通知我 profile.setPreference("browser.helperApps.alwaysAsk.force", false);//应用程序设置询问

2K10

selenium 常见面试题以及答案

selenium 常见面试题以及答案 1.怎么 判断元素是否存在?...nice job~ 思路有了,跟我一起做,点开firebug ,切换到“脚本”界面,首先在输入框输入单字母s,待弹出下拉列表后,单击左侧的插入断点操作 你会发现该下拉框被冻结,不错呦,之后切换到html...结合上次研究的selenium webdriver potocol ,自己写http request调用remote driver代替selenium API selenium web driver Json...大多数人都会使用selenium去做自动化,但是不是每个人都了解selenium的原理,如果能掌握selenium原理 可以改造selenium API,使用webdriver protocol去做一些能够完善自动化测试框架的事情...refresh,再比如需要做一些准备性工作,比如环境配置也可以使用 参考:http://www.cnblogs.com/tobecrazy/p/5034408.html 10. selenium中如何保证操作元素的成功率

3.1K20

《手把手教你》系列技巧篇(十六)-java+ selenium自动化测试-元素定位大法之By xpath下卷(详细教程)

5.2.2参考代码 package lessons; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...5.3.2参考代码 package lessons; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...5.4.2参考代码 package lessons; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...运行代码后电脑端的浏览器的动作,如下小视频所示: 6.小结 Xpath的功能非常强大,不仅能够完成界面定位的任务,而且能保证稳定性,实际自动化测试中,能够识别界面元素是重要的,更重要的是要保证版本间的稳定性,减少脚本的维护工作...false '//h3[contains(text(),"H3")]/a/text()')[0] #使用字符内容来辅助定位 5.not:布尔值(否) 'count(//li[not(@data)])' #包含

2.2K30

Selenium等待:sleep、隐式、显式和Fluent

正常用户使用情况下,可以从列表中预订某一班航班。现在,由于页面尚未完全加载,测试脚本无法找到立即预订按钮。结果抛出NoSuchElementException异常。...下面的代码段和控制台输出: import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...class='Campaign__innerWrapper']/button")).click(); } } 注意:当同时使用隐式等待和显式等待时,它们等待的时间是累计的,而不是在单个等待条件下工作

2.5K30

《手把手教你》系列技巧篇(九)-java+ selenium自动化测试-元素定位大法之By name(详细教程)

3.6参考代码 /** * */ package lessons; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver...对象 JavascriptExecutor js =(JavascriptExecutor)driver; //新闻文本高亮显示颜色 js.executeScript...2.运行代码后电脑端的浏览器的动作,如下小视频所示: 4.小结 好了,今天到这里通过name定位就介绍完了,其实很简单,就是找元素的name,一般来说name都是唯一的,那就需要换其他的定位方法了,...5.拓展 5.1如何去查找findElement接口的源码 前面有一篇文章介绍了Eclipse上如何查看Selenium源码。

1.3K30

《手把手教你》系列技巧篇(六十二)-java+ selenium自动化测试-RemoteWebDriver让你的代码与测试分离(远程测试)(详细教程)

RemoteWebDriver包括两部分:客户端和服务端 1)客户端就是我们要运行测试用例(脚本) 2)服务端就是我们启动的服务 3.应用场景 想像一下最简单的一个应用场景:你和你的同事两人一起开发一段...使测试用例和被测的浏览器可以不用部署在同一台机子上,比如当前运行测试用例的本地没有浏览器a,你又想用a去跑,可以通过发送远程命令到远程有 a浏览器的测试机去跑,省在搭环境,但缺点是从远端服务端发送来的字符串可能存在结尾符号兼容问题...验证服务端响应是否正常。在浏览器中输入地址:http://服务器IP地址:端口/wd/hub/ ,显示如下页面。...import java.net.URL; import java.text.SimpleDateFormat; import java.util.Calendar; import org.openqa.selenium.JavascriptExecutor...最后一个的报错,网上有的说是服务器端的浏览器没有关闭,关闭就可以了,宏哥专门打开浏览器,运行了一下代码,正常运行,感觉和这个浏览器是否关闭没有关系。

1.2K20

《手把手教你》系列技巧篇(十)-java+ selenium自动化测试-元素定位大法之By class name(详细教程)

有了前端知识,做元素定位会很轻松,同样写网络爬虫也很有帮助,话题扯远了,回到Selenium自动化测试。...3.2参考代码 package lessons; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver...对象 JavascriptExecutor js =(JavascriptExecutor)driver; //新闻文本高亮显示颜色 js.executeScript...2.运行代码后电脑端的浏览器的动作,如下小视频所示: 4.小结 好了,今天到这里通过name定位就介绍完了,其实很简单,就是找元素的name,一般来说name都是唯一的,那就需要换其他的定位方法了,

1.1K30

《手把手教你》系列技巧篇(八)-java+ selenium自动化测试-元素定位大法之By id(详细教程)

Selenium通过在页面上寻找元素位置,找到元素后,然后对元素进行相应的操作,Selenium寻找元素位置的方法,称之为定位。...定位超链接的时候,可以考虑 linkText或 partialLinkText:但是要注意的是,文本经常发生改变,所以推荐用。 xpath 功能最强悍。...9.2参考代码 package lessons; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver...对象 JavascriptExecutor js =(JavascriptExecutor)driver; //新闻文本高亮显示颜色 js.executeScript

90930

Selenium 4.0 Alpha更新实践

上期讲到了Selenium 4.0 Alpha更新日志,这次来实践一下更新内容。 DevTools操作更加方便。...窗口管理不在依赖一个driver 相对定位器功能丰富 补充全屏快照的功能 ChromiumDriver和DevTools: 在Selenium 3中,EdgeDriver和ChromeDriver具有从...在Selenium 4中,Chromedriver和EdgeDriver继承自ChromiumDriver。ChromiumDriver类具有预定义的方法来访问开发工具。...; driver.get("https:www.bing.cn"); //JS打印信息 JavascriptExecutor js = (JavascriptExecutor...更好的窗口和标签管理 Selenium 4现在具有可以同时在两个不同的窗口上工作的功能。当我们要导航到新窗口(或选项卡)并在那里打开另一个URL并执行某些操作时,此功能特别有用。

79520

《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)

)driver).executeScript(js); //将driver强制转换为JavascriptExecutor类型 driver.findElement(By.id("createTime"...: import org.openqa.selenium.JavascriptExecutor; 5.项目实战 网上找了半天也没有找到这样的例子,以前12306的日历是这种。...找了索性宏哥自己在本地做一个这样的小demo给小伙伴或者童鞋们来演示一下。 注:本文演示的数据大家可以在公众号后台回复 宏哥38,在java+selenium->38 文件夹领取。...; import org.openqa.selenium.JavascriptExecutor;//注意不要倒错包 import org.openqa.selenium.WebDriver; import...org.openqa.selenium.chrome.ChromeDriver; /** * @author 北京-宏哥 * * 《手把手教你》系列技巧篇(三十八)-java+ selenium

1.4K30

数据驱动框架(Apache POI – Excel)

是的,这是数据驱动框架发挥作用的地方,它可以使测试脚本针对不同的测试数据集正常工作。这样可以节省编写其他代码的时间。这就像一次编写并多次运行的机制一样,因为您可以多次运行相同的Selenium脚本。...更新后的代码现在看起来像– package testCases; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver...WebElement submitBtn=driver.findElement(By.id("submit")); //调用ExcelUtils类方法初始化工作簿和工作表...js = (JavascriptExecutor) driver; js.executeScript("arguments[0].click();", genderMale);

23010
领券