selenium
文章平均质量分 77
慕城南风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Selenium自动化测试之环境搭建(python语言)
我们在使用Selenium做自动化之前一项很重要的工作就是确定python、Selenium、浏览器器的版本,如果任何一项不兼容,则会出现很多问题。好久没有写Selenium web自动化相关的内容了,Chrome浏览器和Selenium版本已经更新了好几版,今天按照最新的版本做一个记录。我使用的是Chrome浏览器,最新版本是:123.0.6312.106(正式版本) (64 位),可以查看到ChromeDriver最新的版本所支持的selenium版本。根据使用的电脑系统选择合适的python版本。原创 2024-04-15 18:12:03 · 594 阅读 · 1 评论 -
Selenium之定位浏览器弹窗方法汇总
在selenium自动化测试过程中会遇到定位浏览器弹窗的情况,根据弹框实现原理的不同大致可以分为以下几种类型。1.alert、confirm、prompt类型弹框这三种弹框是JavaScript核心对象window对象中的三种方法。1.1 alert弹框警告消息框 alert 方法有一个参数,即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作。s.原创 2020-12-13 11:42:23 · 23130 阅读 · 1 评论 -
Selenium Webdriver原理终于搞清楚了
前言selenium1.x:这个时候的selenium,使用的是JavaScript注入技术与浏览器打交道。需要Selenium RC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后注入这段Javascript。Javascript可以获取并调用DOM的任何元素,自如的进行操作。由此才实现了Selenium的目的:自动化Web操作。这种Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于Selenium内核对原创 2020-12-09 17:52:12 · 15998 阅读 · 3 评论 -
Selenium之多窗口句柄的切换
前言 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了。获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了。一、认识多窗口1.打开赶集网:http://bj.ganji.com/,点击招聘求职按钮会发现右边多了一个窗口标签2.我们用代码去执行点击的时候,发现界面上出现两个窗口,如下图这种情况就是多窗口了。3.到这里估计有小伙伴纳闷了,手工点击是2个标签,怎么脚本点击就变成2个窗口了,这个之前讲...转载 2020-08-26 14:18:38 · 8232 阅读 · 0 评论 -
Selenium之XPATH轴定位(第三篇)
第一篇讲了xpath定位的一些基本定位方法,这里再介绍一种:xpath轴定位,应用场景是当某个元素的各个属性及其组合都不足以定位时,那么可以利用其兄弟节点或者父节点等各种可以定位的元素进行定位。1.xpath轴是什么w3cschool上的定义如下:语法2.具体应用(1)descendant表示取当前节点的所有后代元素定位百度首页的“百度一下”按钮可以看到, <input>标签的父元素是<span>标签,而<span>标签的父元素.转载 2020-08-17 09:21:00 · 1203 阅读 · 0 评论 -
Selenium之XPATH定位(第二篇)
世界上最远的距离大概就是明明看到一个页面元素站在那里,但是我却定位不到!!selenium定位元素的方法有很多种,像是通过id、name、class_name、tag_name、link_text等等,但是这些方法局限性太大,拿id属性来说,首先一定不会每个元素都有id属性,其次元素的id属性也不一定是固定不变的。所以这些方法了解一下即可,我们真正需要熟练掌握的是通过xpath和css定位,一般只要掌握一种就可以应对大部分定位工作了。下面总结一下xpath的定位方法,结合自己练习的实例加深..转载 2020-08-17 09:19:17 · 762 阅读 · 0 评论 -
selenium webdriver中执行js(java)
在代码中import org.openqa.selenium.JavascriptExecutor;就可以使用executeScript、executeAsyncScript这两个方法了executeScript是同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕; executeAsyncScript方法是异步方法,它不会阻塞主线程执行。executeScript方法如果...转载 2018-04-25 15:11:55 · 12497 阅读 · 1 评论 -
使用FirefoxDriver时报错Make sure firefox is installed问题
FirefoxDriver调用firefox浏览器的安装路径应为C盘的默认目录下,若firefox安装在其他目录下执行时会报错: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: XP Build info: version: '2.25.0', revision: '1748...原创 2018-03-15 18:58:01 · 801 阅读 · 0 评论 -
selenium之如何等待页面元素加载完成
webdriver中我们用两种方式进行等待:明确的等待和隐性的等待。明确的等待明确的等待是指在代码进行下一步操作之前等待某一个条件的发生。最不好的情况是使用Thread.sleep()去设置一段确认的时间去等待。但为什么说最不好呢?因为一个元素的加载时间有长有短,你在设置sleep的时间之前要自己把握长短,太短容易超时,太长浪费时间。selenium webdriver提供了一些方法帮助我原创 2017-08-15 18:17:39 · 12771 阅读 · 1 评论 -
Selenium之定位及切换frame(iframe)
总有人看不明白,以防万一,先在开头大写加粗说明一下:frameset不用切,frame需层层切! 很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼(原因之一,改天专门说说定位不到元素,可能的一些原因及处理办法)。frame标签有frameset、frame、iframe三种,frames原创 2018-01-04 15:49:05 · 3939 阅读 · 0 评论 -
Selenium之鼠标和键盘操作及扩展
概念在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为。比如使用鼠标单击、双击、右击、拖拽等动作;或者键盘输入、快捷键使用、组合键使用等模拟键盘的操作。在WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse、 Keyboard、CompositeActi原创 2017-09-21 16:51:47 · 2078 阅读 · 1 评论 -
Java+Selenium3.3.1环境搭建
一.背景和目的 selenium从2.0开始,加入了webdriver,实际上,我们说的selenium自动化测试,大部分情况都是在使用webdriver的API。现在去Selenium官网,发现最新Selenium版本是3.4,我也不知道3.4和2.48之间有什么多大的区别和新的特性,唯一确定的是,在Selenium2.0的时候,启动后firefox的时候,还不需要额外的drive原创 2017-08-15 18:02:11 · 2577 阅读 · 1 评论 -
selenium启动Firefox示例
本文示例使用selenium启动Firefox,并将浏览器窗口最大化,在百度搜索框内输入“HelloWorld”,最后点击搜索按钮。源代码如下: package com.selenium.test;import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.Web原创 2017-08-15 18:07:45 · 1056 阅读 · 0 评论 -
Selenium之定位元素常用的8种方法整理(第一篇)
在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素。其中By类的常用定位方式共八种,现分别介绍如下。By.name()假设我们要测试的页面源码如下:Google Search当我们要用name属性来引用这个button并点击它时,代码如下:View CodeBy.id()页面源码如下:1 G原创 2017-08-15 18:09:12 · 2235 阅读 · 0 评论 -
selenium三种方法isEnable()、isDisplayed()和isSelected()的区别
isEnable()、isDisplayed()和isSelected() 1、以上三个为布尔类型的函数 2、isEnable用于存储input、select等元素的可编辑状态,可以编辑返回true,否则返回false 3、isDisplayed()这个有点陌生,在大神写的脚本看到几次不知道何用意先不管,本身这个函数用于判断某个元素是否存在页面上(这里的存在不是肉眼看到的存在,而是html代码原创 2017-08-15 18:12:41 · 24767 阅读 · 2 评论 -
使用TestNG-xslt+ant来美化selenium测试报告
一.背景 1.如果使用junit开发selenium测试案例,可以使用JUnit Report来生成报告 2.如果使用testNG开发selenium测试案例,不需要做额外的来产生测试报告,它会产生一个html格式的报告. 3.ReprotNG是一个testNG测试框架的插件,它可以替代默认的testNG HTML测试报告.ReprotNG提供了一个简单彩色编码测试报告试图. 4.要想获得一原创 2017-08-15 18:30:02 · 784 阅读 · 0 评论
分享