我正在尝试通过Maven食谱中的此示例来运行硒测试:
https://books.sonatype.com/mcookbook/reference/ch08s02.html
我已经按照指定创建了项目,以及 TwitterTest.java 类。
我所做的唯一更改是将端口Selenium运行更改为7777。我通过更改代码来做到这一点:
this.selenium = new DefaultSelenium("localhost", 7777, "*safari", "http://www.twitter.com");
在POM中,我补充说:
<properties>
<selenium.server.port>7777</selenium.server.port>
</properties>
并修改:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>selenium-maven-plugin</artifactId>
<configuration>
<port>${selenium.server.port}</port>
</configuration>
...
我这样做是因为 Server.app 在端口 4444 上启动了
运行。
当我运行 mvn 集成测试
时,我得到以下输出:
[信息] --- selenium-maven-plugin:2.3:start-server (default) @ crm-test ---
启动硒服务器
正在等待硒服务器...
[信息]用户扩展:/Users/george/workspace/crm-test/target/selenium/user-extensions.js
17:22:12,724 INFO [org.openqa.selenium.server.SeleniumServer] Java: Oracle Corporation 25.102-b14
17:22:12.725 信息 [org.openqa.selenium.server.SeleniumServer] 操作系统: Mac OS X 10.12.6 x86_64
17:22:12,732 INFO [org.openqa.selenium.server.SeleniumServer] v2.21.0,Core v2.21.0。根据修订版 16551 构建
17:22:12,841 信息 [org.openqa.selenium.server.SeleniumServer] 远程WebDriver实例应连接到: http://127.0.0.1:7777/wd/hub
17:22:12,842 INFO [org.openqa.jetty.http.HttpServer] Version jetty/5.1.x
17:22:12,843 INFO [org.openqa.jetty.util.Container] Started HttpContext[/selenium-server,/selenium-server]
17:22:12,867 INFO [org.openqa.jetty.util.Container] 已开始org.openqa.jetty.jetty.servlet.ServletHandler@61a485d2
17:22:12,867 INFO [org.openqa.jetty.util.Container] 启动 HttpContext[/wd,/wd]
17:22:12,867 INFO [org.openqa.jetty.util.Container] Started HttpContext[/selenium-server/driver,/selenium-server/driver]
17:22:12,867 INFO [org.openqa.jetty.util.Container] 启动 HttpContext[/,/]
17:22:12,873 INFO [org.openqa.jetty.http.SocketListener] 在 0.0.0.0:7777 上启动了 SocketListener
17:22:12,873 信息 [org.openqa.jetty.util.Container] 已启动org.openqa.jetty.jetty.Server@65ae6ba4
17:22:13.325 信息 - 检查资源别名
硒服务器启动
[信息]
[信息] --- maven-surefire-plugin:2.12.4:test (default) @ crm-test ---
[信息]Surefire report directory: /Users/george/workspace/crm-test/target/surefire-reports
T E S T S
运行 org.sonatype.mcookbook.TwitterTest
使用 org.apache.maven.surefire.testng.conf.TestNG652Configurator@66cd51c3 配置 TestNG
17:22:14,365 信息 [org.openqa.jetty.util.Credential] 检查资源别名
17:22:14.369 信息 - 命令请求:获取新浏览器会话[*safari, http://www.twitter.com, ] 在会话空值上
17:22:14.372 信息 - 创建新的远程会话
17:22:14.404 信息 - 为 http://www.twitter.com 分配会话 1acfb5c8359144f5aba4922bc8406c0c,正在启动...
17:22:14.458 信息 - 启动 Safari 以访问 'file:/var/folder/02/t683l6k918v1s_sr0y8k71zm0000gn/T/customProfileDir1acfb5c8359144f5aba4922bc8406c0c/core/RemoteRunner.html?sessionId=1acfb5c8359144f5aba4922bc8406c0c
打开一个 Safari 窗口,显示 Selenium 控制台(Web 应用程序的 Selenium 功能测试,来自 ThoughtWorks 和 Friends 的开源)
但除此之外,控制台只是无限期地坐在那里“启动 Safari 访问”,没有进一步的进展。
我不确定这是一个与Java相关的问题,还是环境问题。如果有帮助,我正在运行带有Sierra的Mac Pro服务器(10.12.6)
更新:几分钟后它输出:
17:52:23.843 错误 - 无法启动新的浏览器会话,关闭浏览器并清除所有会话数据 org.openqa.selenium.server.RemoteCommand异常:等待窗口“null”出现超时
如果我查看开发者控制台,会看到以下消息:
[错误]不允许加载本地资源: file:///var/folders/02/t683l6k918v1s_sr0y8k71zm0000gn/T/customProfileDird2e9a9287f5648fc921212a0230f2eb5/core/scripts/user-extensions.js[d2e9a9287f5648fc921212a0230f2eb5] requireExtensionJs (selenium-remoterunner.js:581) getSessionId (selenium-remoterunner.js:65) buildDriverParams (selenium-remoterunner.js:464) addUrlParams (selenium-remoterunner.js:415) sendToRC (selenium-remoterunner.js:399) nextCommand (Selenium-Remoterunner.js:203) continueTest (Selenium-executionloop.js:35) start (Selenium-executionloop.js:26) run SeleniumTest (Selenium-remoterunner.js:125) (匿名函数) (远程运行.html:58)
[错误]访问控制允许原点不允许源空。
[错误]无法加载资源:访问控制允许源不允许源空。(驱动程序,第 0 行)
[错误]XMLHttpRequest 无法加载 http://localhost:7777/selenium-server/driver/?seleniumStart=true
有没有办法规避这些?
注意: - 如果我尝试使用*火狐
或*铬
,我会得到:
18:01:17.623 信息 - 正在准备 Firefox 配置文件...18:01:39.160 错误 - 无法启动新的浏览器会话,关闭浏览器并清除所有会话数据 java.lang.Runtime异常:等待创建配置文件超时!
请注意,该消息显示正在准备火狐配置文件,无论我尝试使用*火狐还是*铬
哇,我从兔子洞回来了。为了让我的Selenium测试在Mac OSX上运行,我必须执行以下操作:
>
*谷歌浏览器
驱动程序mvn integration-test -Dmaven.wagon.http.ssl.insecure=true
将以下配置添加到Selenium-Maven-plugin
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>selenium-maven-plugin</artifactId>
<configuration>
<trustAllSSLCertificates>true</trustAllSSLCertificates>
...
我的JDK是版本,Surefire是,Maven是。我正在使用jUnit和Spring注释。 当我尝试使用命令运行我的测试时,我没有出错,我获得了成功构建,也没有运行案例。 运行测试用例。TestLogin使用:org配置TestNG。阿帕奇。专家当然可以。测试NG。形态。TestNG652Configurator@7bb11784测试运行:0,失败:0,错误:0,跳过:0,所用时间:0.808秒
问题内容: 我在运行Ubuntu的本地计算机上设置Jenkins,将其指向我的jdk,然后进行maven,创建了一个作业来运行我的Selenium测试,并为它提供了项目中pom.xml的路径,但是当我尝试运行该作业时,它立即失败。控制台输出显示 在工作区中构建/ var / lib / jenkins / workspace / new job [new job] $ / usr / share
以下测验提供与Maven相关的多项选择题(MCQ)。 您必须阅读所有给定的答案并单击正确的答案。 如果您不确定答案,则可以使用“ Show Answer按钮Show Answer 。 您可以使用“ Next Quiz按钮在Next Quiz中检查新的问题集。 问题1 - 关于POM,以下是什么? A - 它始终作为pom.xml驻留在项目的基本目录中。 B - 它包含有关项目的信息以及Maven用
我用selenium IDE记录了一些简单的硒测试。现在我想在詹金斯进行这些测试。我需要Jenkins的哪个插件?以及如何一步一步地运行测试?谢谢你的帮助。
首先,对不起我的英语,它不是那么完美:) 所以我面临以下问题:我试图使用Selenium Grid和TestNg在不同的浏览器中运行并行测试,并在@BeforeTest方法中传递参数。我的问题是,当每个测试初始化时,他们似乎会使用最后一个测试的参数。所以在这个例子中,当我运行测试时,它将打开两个Chrome,而不是一个火狐和一个Chrome。(browser.getDriver()方法返回远程We
我使用appium和java自动化Android应用程序。作为一个初学者,我想知道TestNG和网格之间的区别。冲浪,但不能得到答案。
我正在设置在网站上运行的自动化测试,以确保一切仍然正常工作。我有一个显示记录表的网页。 我想测试加载选定的网页 我已经完成了前3个步骤,但我仍停留在第4步。有人能帮忙吗?谢谢康纳
问题内容: 我是Maven的新手,甚至是Clojure的新手。作为一种学习语言的练习,我正在编写蜘蛛纸牌播放器程序。 我已经配置了一个Maven目录结构,其中包含通常的src / main / clojure和src / test / clojure目录。我的pom.xml文件包含clojure-maven-plugin。当我运行“ mvn test”时,尽管我在src / test / cloj