Selenium实现右键保存图片(Java)】的更多相关文章

1.代码 public class SaveImage extends TestCase { private WebDriver driver; private Actions action; private String baseUrl; @Before public void setUp() throws Exception { baseUrl = "http://baike.pcbaby.com.cn/recipe/"; System.setProperty("webd…
首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为,根本操作不了. 也有在网上看到webdriver right click option的一些代码,拿来用发现不能用的. Actions act = new Actions(driver); WebElement link = driver.findElement(By.id("xpath"…
1.需要借住autoit工具和Robot类,下载地址:https://www.autoitscript.com/site/autoit/downloads/ 2.autoit的使用不再详细讲解.如下图: 3.识别到保存窗口后,用autoit编辑器编写脚本 ControlFocus("保存图片", "","Edit1") ;ControlFocus("title","text",controlID) Edit…
selenium java环境的安装可以分为三个部分:jdk.eclipse和selenium. jdk jdk(java development kit)是sun公司针对java开发人员的产品,是整个java的核心,包含了java的运行环境.工具和基础类库. 1.下载新版jdk,目前是jdk8,双击安装即可,选择安装在D:\Program Files\Java\jdk1.8.0. 2.配置环境变量 3.运行cmd查看jdk版本 eclipse eclipse无需多解释,windows傻瓜式安装…
项目中新建module之后,要在该目录下新增java Class文件,右键——>New发现无Java Class选项. File –Project Structure或者ctrl+alt+shift+s 快捷键或者右上角搜索按钮旁边的Project Structure图标,打开Project Structure窗口,然后打开Modules,选择不能创建java class文件的模块,选中src目录,右键或者直接点击marks as 后面的sources 如上图mark as 选项所示,我们可以对…
从下图中可以看到selenium有三类定位元素的方法,一种是直接通过属性.标签以及链接来定位,一种是XPath方式,最后一种是CSS方式. 下表列举了元素定位的例子 selenium之页面元素定位方法    方法  例子    通过ID来定位  WebElement wElement = driver.findElement(By.id("kw"))    通过Name来定位  WebElement wElement = driver.findElement(By.name("…
package com.yanfuchang.selenium.utils; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.text.…
本文示例使用selenium启动Firefox,并将浏览器窗口最大化,在百度搜索框内输入"HelloWorld",最后点击搜索按钮. 源代码如下: 1 package com.selenium.test; 2 3 import java.util.concurrent.TimeUnit; 4 import org.openqa.selenium.By; 5 import org.openqa.selenium.WebDriver; 6 import org.openqa.seleniu…
1.使用findElement方法定位元素   findElement()方法:当开始寻找符合指定条件的元素时,它将查询整个DOM,然后返回第一个找到的匹配元素.   By id:通过元素ID属性定位元素//driver.findElement(By.id("XXXX"));   By name: 通过元素Name属性定位元素//driver,findElement(By.name("XXXX"));   By className:通过元素classname属性定位…
硒在最近的发展中被广泛应用,因为它以前没有被使用过,并且已经走了太多的坑.这是一张唱片. 1.环境配置 配置要点: 1.Web驱动程序应该与浏览器版本相对应,chrome使用chrome驱动程序和chrome浏览器,Firefox使用geckodrive和Firefox浏览器 2.支持headless:本地开发使用mac环境,默认支持:linux需要安装xvf8(虚拟GUI) 3.maven项目构建,使用selenium-3.9.1或者最新版本 4.linux配置参考:chrome:blog.c…
一.下载必要的文件 1.eclipse Eclipse官网 2.jdk jdk官网 3.selenium IDE.Selenium Server.Selenium Client Drivers(Java)等等 Selenium下载地址  备注:需要代理服务器才能下载 我使用的是太太猫 4.maven安装.配置等 二.安装    1.Eclipse解压缩就可以用了    2.jdk安装.配置变量等    3.Selenium相关的安装    4.maven 最新版本的Eclipse已经自带mave…
参考:http://www.testclass.net/selenium_java/ 一共分为二十个部分:环境安装之Java.环境安装之IntelliJ IDEA.环境安装之selenium.selenium3浏览器驱动.selenium元素定位.控制浏览器操作.WebDriver常用方法.模拟鼠标操作.模拟键盘操作.获取断言信息.设置元素等待.定位一组元素.多表单切换.多窗口切换.下拉框选择.警告框处理.文件上传.浏览器cookie操作.调用JavaScript代码.获取窗口截屏: (一)环境…
1.简介 其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇.那是因为这个比较重要,所以宏哥专门为她量身定制了一篇. FluentWait是Selenium中功能强大的一种等待方式,翻译成中文是流畅等待的意思.在介绍FluentWait之前,我们来讨论下为什么需要设置等待,我们前面介绍了隐式等待和显式等待.在现在很多软件产品为了加强前端的效果,采取了大量的AJAX 和Jquery技术…
1.简介 前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件.因此宏哥就接着讲解和分享一下:自动化测试下载文件.可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就是访问到下载页面,然后定位到要下载的文件的下载按钮后,点击按钮就可以了.其实不是这样的,且听宏哥徐徐道来:宏哥这里的下载是去掉下载弹框的下载. 2.去掉下载弹窗的优点 (1)检索键盘鼠标自动化控制模块的导入(2)可以无头化运行,不影响同时进行的其他的任务 3.Chrome自动化下载文件 3.1参数说…
1.简介 经过前边几篇知识点的介绍,今天宏哥就在实际测试中应用一下前边所学的依赖测试.这一篇主要介绍在TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称的首字母排序来执行测试方法,而不是按照你设计的测试用例来执行方法.多的不说,少的不唠,我们开始今天讲解和分享. 2.测试场景 在这里宏哥给小伙伴们或者童鞋们模拟一个测试场景:打开百度首页,搜索selenium的相关内容,看到很多s…
1.简介 前面宏哥一连几篇介绍如何通过开源jar包Log4j.jar.log4j2.jar和logback实现日志文件输出,Log4j和logback确实很强大,能生成三种日志文件,一种是保存到磁盘的日志文件,一种是控制台输出的日志,还有一种是HTML格式的日志文件.有时候,我们不一定都需要这些文件,在我们自动化测试框架里,我们只需要把日志文件保存到磁盘文件中,所以,这里介绍一种不用Log4j或者logback来实现日志文件写入和保存. 写着一篇文章的主要目的是后边测试框架设计就用宏哥这种自定义…
总结:WEB UI自动化测试一般采用 POP(面向页面编程),自动化测试框架分三层,有时如果页面如果太多,不好管理,可以面向控件编程,即把控件当作页面,毕竟控件是有限的,所以封装页面的代码量会少很多,两种方式各有优劣.如果页面比较少的,建议可以全部封装为页面对象:如果页面比较多,而且跳转复杂,建议使用两者结合的方式,一级页面,二级页面封装,三级以上页面,就不需要封装,使用控件对象完成页面操作.利用封装好的页面对象/控件对象,再进一步完成业务关键字封装,比如登录,注册,添加商品,支付等等操作,这样…
git+java+selenium+testng +maven+idea 1.git之代码维护(下载.分支切换.上传) 下载命令 "git clone git@github.com:Luna0715/learnmaven.git"git branch -a 列出所有分支git branch 查看本地分支创建分支:git branch <name>创建+切换分支:git checkout -b <name>git checkout -b develop origi…
首先自己先准备一个表格代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <table border = "1" align="center" width="400" height="200">…
Java初学,想试试连接本地数据库,按照百度经验中的方法,在最后执行测试的卡住了,为啥?因为MyEclipse中右键Run as没有JUnit Test选项! 6.1.测试数据库mysql是在项目中连接成功,运行测试类时run as 后没有Junit Test: 6.2.原因是工程没有引入JUnit的jar包 引入后工程目录应该是这样 6.3.给工程添加JUnit jar包 工程名右键→Properties→Java Build Path 6.4Libraries→Add Library选中JU…
driver.navigate().back();     后退 driver.navigate().forward();   前进 driver.navigate().refresh();    刷新 driver.manage().window().maximize();   最大化 // 进入 id 叫frameA 的 iframe dr.switchTo().frame("frameA"); // 回到主窗口 dr.switchTo().defaultContent(); If…
selenium 数据驱动 (xml解析) getElementByTagName()可以通过标签名获取某个标签.它所获取的对象是以数组形式存放.如“caption”和“item”标签在info.xml 文件中有多个,那么可以指定数组的下标在获取某个标签.root.getElementsByTagName('caption') 获得的是标签为caption 一组标签:getElementsByTagName("p")[3]item(0).getNodeName() 表示一组标签中的第一…
Java+selenium maven配置 maven的配置,但还需要建立maven的本地库,修改apach-maven的setting.xml http://www.cnblogs.com/haoabcd2010/p/8664387.html Java+selenium自动化测试基础脚本 java配置好,maven配置好后,下载好selenium,浏览器驱动装好,试着建立一个maven项目,可以运行就可以进行自动化测试了 import java.io.File; import java.io.…
本文转自:http://www.programcreek.com/java-api-examples/index.php?api=org.openqa.selenium.support.ui.FluentWait java代码实例org.openqa.selenium.support.ui.fluentwait以下是票数最高的例子展示了如何使用org.openqa.selenium.support.ui.fluentwait.这些示例是从开放源代码项目中提取的. Example 1 Projec…
Intelidea创建好项目之后,右键新建Java class的时候发现没有改选项,只有以下几个选项 把sec目录设为源码目录,首先打开Project Structure…
Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: VISTA Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:14.666Z' 解决方法: package my_automation; import org.openqa.selenium.WebDriver; impo…
前言 前天被一个Flash的轮播图,给玩坏了,无法操作,后来请教了下crazy总拿到思路,今天实践了下,果然可以了,非常感谢! 模拟场景 打开百度地图 切换城市到北京 使用测距工具 测量 奥林匹克森林公园 —— 北京南苑机场 的距离 安装配置 首先下载sikuliX的jar包:https://launchpad.net/sikuli/sikulix/1.1.0 导入jar包:sikulixsetup-1.1.0.jar 双击java -jar sikulixsetup-1.1.0.jar,则会出…
写在前面 我们刚开始做自动化测试,可能写的代码都是基于原生写的代码,看起来特别不美观,而且感觉特别生硬. 来看下面一段代码,如下图所示: 从上面图片代码来看,具体特征如下: driver对象在测试类中显示 定位元素的value值在测试类中显示 定位元素的方式(By对象)在测试类中显示 代码一报错,还要去测试类里面找是哪段代码报错,要是代码行数几百行时呢,就不好定位问题了 这样的测试脚本组装批量执行,批量报错后,怒号排查,定位问题,很吃力 看看自己有几条命中呢,其他现象就不一一列举了. 1.为什么…
今天要测试一个技术点于是新建了一个springboot工程, 在新建文件的时候发现右键后java class文件选项不见了. 以前真的没有碰到这种问题, 感觉很是意外于是百度Google后找到了解决办法, 在此进行记录, 也希望能帮到碰到同样问题的小伙伴们. 1. 点击下图红框中的小图标 高清大图如下 2. 点击上图图标后出现下图弹窗, 按照图示顺序操作 3. 问题解决…
新建Maven项目,添加需要的依赖 1.新建一个Maven项目 2.在pom.xml中添加需要的依赖,这里只要selenium和testng就行 <!-- https://mvnrepository.com --> <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId…