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

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

1.简介   理想很丰满现实很骨感,在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就有点难了...: import org.openqa.selenium.JavascriptExecutor; 5.项目实战 网上找了半天也没有找到这样的例子,以前12306的日历是这种。...不找了索性宏哥自己在本地做一个这样的小demo给小伙伴或者童鞋们来演示一下。 注:本文演示的数据大家可以在公众号后台回复 宏哥38,在java+selenium->38 文件夹领取。...- 1); oDate.setDate(1); //3.3.2.计算1号在第一行日期容器中的位置,依次给日期容器填充内容 //...; import org.openqa.selenium.JavascriptExecutor;//注意不要倒错包 import org.openqa.selenium.WebDriver; import

1.6K30

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

详细参考博客:日历时间控件(https://www.cnblogs.com/du-hong/p/15479221.html) 3.2场景二 1.有些页面元素需要拉动滚动条才能获取到(因为拉取滚动条才加载...4.1代码设计 4.2参考代码 package lessons; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver...height值,本人试用了一下,得到的结果是 以此可见,Chrome依然遵循上面的标准,使用document.documentElement.scrollTop方式,得到height值 其实在实际使用中,...为确保在各个浏览器中的正常使用,js代码可采用如下方法: var height = document.body.scrolltop||document.documentelement.scrolltop...因为这二者只有一个值有效,因此保证了在各种情况下都能获取浏览器滚动条滚动的距离。

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

    自动化测试面试题及答案大全(5)「建议收藏」

    首先要分析当前网页试用日历插件的前端代码,看看能不能通过元素定位,点击日期实现,如果不能,可能需要借助javascript。...,Arguments); 24.在Selenium中如何实现截图,如何实现用例执行失败才截图 在Selenium中提供了一个TakeScreenShot这么一个接口,这个接口提供了一个getScreenshotAs...然后在测试代码中的catch代码块去调用这个截图方法。这个我们在POM的框架中一般是把截图方法封装到BasePage这个文件中。 25.在Selenium中如何实现拖拽滚动条?...在Selenium中通过元素定位会自动帮你拖拽到对应位置,所以是没有自带的scoll方法。...32.在selenium自动化测试中,你一般完成什么类型的测试? 主要是冒烟测试和回归测试。回归测试主要写一些功能稳定,容易实现的场景,通过自动化手段去实现,节约测试时间。

    1.8K30

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

    XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。XPath 定位和CSS定位相比有更大的灵活性。...XPath 在文档树中某个节点既可以向前搜索,也可以向后搜索,CSS定位只能在文档树中向前搜索,但XPath的定位速度比CSS 慢一些。...("/html/body/div[x]/form/input") x 代表第x个 div标签,注意,索引从1开始而不是0 具体步骤: 在被测试百度网页中, (1)打开Chrome浏览器,输入百度网址访问百度首页...,F12打开开发者工具,然后Ctrl+F调出输入框,在输入框中输入绝对路径的xpath表达式(/html/body/div/div/div/div/div/form/span/input),回车。...按照宏哥在5.2中的方法 (1)查找输入框并输入“北京宏哥”,(2)查找“百度一下”按钮,(3)点击“百度一下”按钮。

    1.3K30

    selenium 常见面试题以及答案

    2) 在列表页停留1分钟,至到页面上出现“搜索结束”。...3) 如果出现航班列表,对于出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表中会出现“第一程”、 “第二程”;对于没有出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表底部中会出现...缓慢输入城市的缩略字母或者城市的名字的部分,会显示出待选城市的下拉列表,进而从下拉列表中选择相应的城市. 3....、 比如,也许你在selenium自动化过程中会遇到get打开页面打不开,为了保证你脚本的健壮性,这时候你可以加入一段httprequest去获取 response的的关键值判断,如果不是2开头的可以设置...refresh,再比如需要做一些准备性工作,比如环境配置也可以使用 参考:http://www.cnblogs.com/tobecrazy/p/5034408.html 10. selenium中如何保证操作元素的成功率

    3.2K20

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

    XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。XPath 定位和CSS定位相比有更大的灵活性。...XPath 在文档树中某个节点既可以向前搜索,也可以向后搜索,CSS定位只能在文档树中向前搜索,但XPath的定位速度比CSS 慢一些。...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

    2.2K30

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

    Selenium等待页面加载在Selenium自动化测试中起着重要的作用。它们有助于使测试用例更加稳定,增强健壮性。...在此代码段中,使用的是某一航空订票网站的示例,在该示例中,post用户选择行程日期的From和To目的地,Web应用程序需要花费一些时间来加载所需的航班详细信息。...在正常用户使用情况下,可以从列表中预订某一班航班。现在,由于页面尚未完全加载,测试脚本无法找到立即预订按钮。结果抛出NoSuchElementException异常。...Selenium等待有不同类型,例如隐式等待和显式等待,可确保在Selenium脚本执行元素定位之前,页面元素加载到页面中以进行进一步的操作。...在Fluent等待中,当测试人员不知道某个元素可见或单击所需的时间时,而需要对其执行Selenium等待。

    2.6K30

    《手把手教你》系列技巧篇(十七)-java+ selenium自动化测试-元素定位大法By css上卷

    从CSS定位表达式可以看出,步间通过“>"分割,区别于CSS路径中的正”/“,并且也不再使用@符号选择属性。...具体步骤: 在被测试百度网页中, (1)打开Chrome浏览器,输入百度网址访问百度首页,F12打开开发者工具,然后Ctrl+F调出输入框,在输入框中输入绝对路径的css表达式(html>body>div...按照宏哥在5.2中的方法 (1)查找输入框并输入“北京宏哥”,(2)查找“百度一下”按钮,(3)点击“百度一下”按钮。...按照宏哥在5.2中的方法 (1)查找输入框并输入“北京宏哥”,(2)查找“百度一下”按钮,(3)点击“百度一下”按钮。...运行代码,右键Run AS->java Application,控制台输出,如下图所示: image.png 2.运行代码后电脑端的浏览器的动作,如下小视频所示: 从上边的控制台可以清楚地看到报错了,从视频中可以看到浏览器卡住不动了

    1.4K40

    UI自动化问题汇总

    在Selenium中如何处理多窗口 答: 需要用到swithTo方法。获取当前浏览器多窗口句柄,然后根据判断跳转新句柄还是旧句柄。 1....Selenium中如何实现拖拽滚动条 答: 在Selenium中通过元素定位会自动帮你拖拽到对应位置,所以是没有自带的scoll方法。...自动化测试用例从哪里来的 答: 从手工测试用例中抽取 1. 你觉得自动化最大的缺陷是什么?你们平时工作中是怎么利用自动化的呢?...如何不是纯搞自动化测试的情况下 答: 不稳定 可靠性不强 不易维护 成本与收益 平时工作中,我们是先测试部会议讨论哪些业务流程或者需求不经常迭代,在比较稳定的情况下,针对这些需求或业务流程从手工测试用例中抽取部分用例进行脚本编写...在日历web表单你是如何处理的 答: 首先要分析当前网页试用日历插件的前端代码,看看能不能通过元素定位,点击日期实现,如果不能,可能需要借助javascript。

    3.5K61

    《手把手教你》系列技巧篇(四十)-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

    1.8K20

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

    具体格式为: xxx.By.cssSelector("标签#ID属性值") 具体例子: xxx.By.cssSelector("input#btn") 具体步骤: 在被测试百度网页中,按照宏哥在5.2...; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement...按照宏哥在5.2中的方法 (1)查找输入框并输入“北京宏哥”,(2)查找“百度一下”按钮,(3)点击“百度一下”按钮。...例如,如果一个元素的 ID 是 panel_login_userName_textfield,返将会匹配到此 id 值的_userName,从而定位到元素 具体步骤: 在被测试百度网页中,按照宏哥在5.2...org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement

    1.5K30

    技术分享 | web自动化测试-执行 JavaScript 脚本

    执行 js 有两种场景: 在页面上直接执行 js 在某个已经定位的元素上执行 js 执行js Selenium 可以通过 execute_script() 来执行 JavaScript 脚本。...driver.execute_script:同步执行 JavaScript 在当前的窗口框架下 js 脚本可以在浏览器的开发者工具 -> Console 中进行调试 js的返回结果 获取元素控件中的属性值...与 Selenium 结合,在代码中返回 js 结果 Python 版本 # 获取网页性能的响应时间,js脚本中使用return代表返回获取的结果 js = "return JSON.stringify...; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver...By.cssSelector\ (".material_pic_list_item")).size(); assertEquals(num, 1); } } 在测试工作中

    99630

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

    3.2使用索引定位元素 在xpath中,我们使用过索引定位,因此在css中同样可以使用索引定位。这个有的也叫定位子元素或者是伪类定位元素。...(By.cssSelector("form#form>span:nth-child(9)>input")) 具体步骤: 在被测试百度网页中,按照宏哥在5.2中的方法 (1)查找输入框并输入“北京宏哥”,...; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement...; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement...按照宏哥在5.2中的方法 (1)查找输入框并输入“北京宏哥”,(2)查找“百度一下”按钮(因为span有好多input,所以宏哥又用了一下id),(3)点击“百度一下”按钮。

    1.4K30

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

    XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。XPath 定位和CSS定位相比有更大的灵活性。...XPath 在文档树中某个节点既可以向前搜索,也可以向后搜索,CSS定位只能在文档树中向前搜索,但XPath的定位速度比CSS 慢一些。...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

    3.5K41

    【Java爬虫】009-Selenium学习笔记

    一、概述 1、简介 Selenium是一个用于Web应用程序测试的工具; Selenium测试直接运行在浏览器中,就像真正的用户在操作一样; 2、主要功能 测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上...; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver...; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver...System.out.println(driver.getTitle()); //睡眠5秒,下拉 Thread.sleep(5000); JavascriptExecutor...js = (JavascriptExecutor)driver; js.executeScript("scrollTo(0,5000)"); System.out.println

    7010

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

    1.简介 上一篇宏哥已经介绍了通过id来定位元素,今天继续介绍其他剩下的七种定位方法中的通过name来定位元素。...然后对每一个小步骤编写自动化脚本 3) 将所有步骤合起来,多次运行,测试脚本 3.3打开百度 #打开网址 driver.get("http://wwww.baidu.com"); 3.4.输入搜索内容:北京宏哥 1)在chrome...3.6参考代码 /** * */ package lessons; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor...对象 JavascriptExecutor js =(JavascriptExecutor)driver; //新闻文本高亮显示颜色 js.executeScript...在测试代码中的driver.findElement,通过前面介绍的方法,进入到WebDriver.java这个文件,搜索找到 findElement()这个接口,然后按照如下图的方法进入实现代码的文件。

    1.4K30

    Selenium 4.0 Alpha更新实践

    窗口管理不在依赖一个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并执行某些操作时,此功能特别有用。...相对定位器 在Selenium 4 alpha版本中,我们还可以获得相对于任何其他定位器的定位器。 toLeftOf():位于指定元素左侧的元素。toRightOf():位于指定元素右侧的元素。

    85520
    领券