Tag: selenium webdriver

如何在Selenium WebDriver中使用JavasSript在文本字段/框中输入值

我正在使用带有Java的WebDriver。 我想使用JavaScript在文本字段中输入一些文本。 我怎样才能做到这一点?

通过selenium在firefox中打开私有模式

其实我想通过selenium打开一个隐身/私有模式的firefox浏览器,但每次我试过它都是在正常模式下打开firefox。 经过一些谷歌搜索我得到了这个代码,我曾经通过selenium在firefox中打开私有模式,但它无法正常工作。 FirefoxProfile firefoxProfile = new FirefoxProfile(); firefoxProfile.setPreference(“browser.privatebrowsing.autostart”, true); WebDriver driver = new FirefoxDriver(firefoxProfile); driver.get(“http://www.google.com”); 有人可以帮忙怎么做?

jMagick – 图像比较

我正在尝试开发一个程序,该程序将获取网页的快照,然后将其与旧网页进行比较并突出显示更改(如果有)。 我正在使用Selenium-WebDriver拍摄快照。 对于图像处理和比较,经过一些谷歌搜索后,我找到了jMagick ,一个ImageMagick的Java接口,我认为最适合我的要求。 但由于缺乏适当的文档,我无法找到任何相关的内容。 如果有人可以帮助我使用任何代码示例进行图像比较,这将非常有用。 同样,问题是比较两个图像并突出显示两者之间的变化或差异。 输出可以是第三个图像,突出显示差异。 可能的重复是: 这和此 。 但同样,没有适当的解决方案可以从这些推断。 如果有人可以对此有所了解,或者可能是java中的其他一些解决方案。

保存Selenuim Web Driver生成的firefox配置文件

我使用Selenium WebDriver和firefox。 每次selenium在temp文件夹中为firefox生成新的anoniumus配置文件,并在退出后删除它。 我需要这个档案。 我怎么才能得到它? 存储的Fe配置文件 C:\Documents and Settings\Developer\Local Settings\Temp\anonymous5583304190515426768webdriver-profile 关闭WebDriver后 driver.quit(); 配置文件将被删除,但它已被记录,我希望在下一次迭代中使用它,方法是使用它启动WebDriver: FirefoxDriver driver = new FirefoxDriver(new FirefoxProfile(profileFolder)); 是否有可能保存配置文件没有肮脏的黑客攻击,如驱动程序工作时应对整个文件夹(我不确定它是否工作,因为在Windows中,文件夹被锁定而firefox启动)? 可能在Selenium中存在一些API吗?

无法从maven运行Cucumber测试

我的Maven项目结构是 该项目运行良好如果我尝试通过eclipse运行它作为JUnitTest(CucumberRunnerTest.java)。 但是,如果我尝试通过maven执行它,那么我得到以下错误: pom如下: 4.0.0 com.ericsson MavenCuke 1.0-SNAPSHOT jar MavenCuke http://maven.apache.org UTF-8 1.1.8 2.42.2 4.11 –format pretty –tags @Search org.codehaus.mojo exec-maven-plugin 1.3.2 integration-test java test cucumber.api.cli.Main –format junit:output/cucumber-junit-report/allcukes.xml –format pretty –format html:output/cucumber-html-report –format json:output/cucumber_report.json –glue src\ src\main\resource\com\ericsson\ info.cukes cucumber-picocontainer ${cucumber-jvm.version} info.cukes cucumber-junit ${cucumber-jvm.version} test org.seleniumhq.selenium selenium-java ${selenium.version} com.google.guava guava 18.0-rc1 junit junit ${junit.version} test info.cukes […]

Chrome版本44在selenium测试中存在一些问题

我正在使用Selenium和Chrome编写测试,昨天当我的Chrome从43更新到44时,我的测试遇到了action.sendkey(“arrow.down”)等问题。 我尝试卸载Chrome并安装Chrome 43,但是一旦我这样做就将其自我更新为44! 我也尝试过chromedriver 2.16,但它也没有用。 我该如何解决?

什么是用于webdriver和浏览器之间通信的机制

任何人都可以解释浏览器和网络驱动程序之间的通信方式? webdriver对象如何在浏览器中读取和识别html元素? 那为什么webdriver对象和浏览器之间的关系以及如何构建关系浏览器和webdriver对象? driver = new FirefoxDriver(); driver.findElements(By.id(“element”));

如何使用selenium获取android native app的x,y坐标

如何使用selenium java web驱动程序获取android native app的x,y坐标。 我正在使用appium。 我的应用程序打开android图库。 由于uiautomatorviewer没有显示它的布局。 我无法点击图片。 看起来像moveToElement,mouseMoveAt等仅适用于浏览器。 本机应用程序有哪些可用选项。

系统中发现了selenium元素,但在Jenkins中找不到

我和我的团队最近开始使用Selenium Web Driver和JUnit开发自动化脚本。 我正面临一个问题,而我完全没有关于如何继续的想法。 任何建议都会有用。 问题出在这里:我有一个页面,我在表单中上传两个excel,然后按提交按钮确认上传。 上传完成后,它会使用数据填充数据库,下一页确认每个Excel的行数。 我正在尝试获取确认上传的元素,这是一种“标签”类型。 所有这些都可以在我的电脑上成功地在本地工作(Windows 7,firefox webdriver)。 上传我的代码时,当jenkins构建/执行它时,我得到一个“未找到元素”,测试失败。 由于我无法直观访问jenkins运行的内容,因此我使用getPageSource()替换了元素确认(在jenkins上失败getPageSource() 。 getPageSource()返回我希望看到的页面,我想要找到的元素(本地和jenkins)。 关于可能发生的事情的任何想法? 笔记: 有两个10sec thread.sleep。 一个在上传每个Excel时,一个在点击提交后,以确保加载下一页并成功提交excel。 我尝试使用xpath定位元素。 事实上,我使用了Firefox中的Firebug和Chrome中的Web开发人员给我的xpath。 只是为了确保xpath没有任何问题。 两个xpath都在我的本地机器上成功定位元素,但在jenkins上失败。 执行测试(本地和Jenkins)我可以看到数据库填充它应该。 请原谅我缺乏代码,但我可以分享的内容受到限制。

如何确定浏览器关闭的时间?

我使用Selenium Webdriver自动化网站(填写表单并点击)以节省用户的时间。 我遇到了一个恼人的问题: Selenium似乎不支持浏览器本身的任何事件监听器。 当浏览器关闭时, 不会调用 driver.quit()并且会出现一个不可用的驱动程序,它会抛出各种exception。 无法知道浏览器何时关闭,我无法创建新的驱动程序实例。 我需要的是在浏览器关闭时通知我的程序的一些方法。 用户可能会因为破坏我程序的任何原因而关闭浏览器。 如果不重新启动应用程序,用户将无法再次运行自动化任务。 知道浏览器何时关闭将允许我调用driver.quit()并在用户想要再次运行时创建一个新的驱动程序实例。 当浏览器死亡时,抛出的错误在浏览器中并不统一,这个问题变得更加复杂。 使用Firefox,我可能会使用Chrome NullPointer和WebDriverExceptions获得UnreachableBrowserException。 为了澄清,我知道如何关闭驱动程序和浏览器,但我不知道它们何时被外部源关闭。 这可以通过跨浏览器方式在Selenium 2中完成(如果是,如何)或者我是否需要找到另一种方式(如另一个库)来观看浏览器窗口?