当前位置: 首页 > 知识库问答 >
问题:

硒与 Maven 测试在 Mac 摊位上

史修明
2023-03-14

我正在尝试通过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异常:等待创建配置文件超时!

请注意,该消息显示正在准备火狐配置文件,无论我尝试使用*火狐还是*铬

共有1个答案

宋英杰
2023-03-14

哇,我从兔子洞回来了。为了让我的Selenium测试在Mac OSX上运行,我必须执行以下操作:

>

  • 使用 *谷歌浏览器驱动程序
  • 将 Java 加密扩展安装到我的 JRE/JDK: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
  • 将以下属性值传递给 maven : 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