Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 硒测试在尝试使用竹子运行时挂起_Java_Maven_Selenium_Bamboo - Fatal编程技术网

Java 硒测试在尝试使用竹子运行时挂起

Java 硒测试在尝试使用竹子运行时挂起,java,maven,selenium,bamboo,Java,Maven,Selenium,Bamboo,我正试图使用Bambol的构建和部署功能来对我的项目运行Selenium自动化测试 我们目前正在使用一个Maven任务来构建和运行常规JUNIT测试,计划在代码成功部署到服务器后使用另一个Maven任务来运行Selenium测试。目前,当地的一切似乎都运行得很好,但当竹试着运行硒测试时,它似乎无限期地挂起。不幸的是,我没有远程访问服务器的权限来直接观看,但我知道这是一台运行OS版本的Microsoft服务器:Windows 2012 R2 64位。我还知道服务器使用的是java版本“1.8.0_

我正试图使用Bambol的构建和部署功能来对我的项目运行Selenium自动化测试

我们目前正在使用一个Maven任务来构建和运行常规JUNIT测试,计划在代码成功部署到服务器后使用另一个Maven任务来运行Selenium测试。目前,当地的一切似乎都运行得很好,但当竹试着运行硒测试时,它似乎无限期地挂起。不幸的是,我没有远程访问服务器的权限来直接观看,但我知道这是一台运行OS版本的Microsoft服务器:Windows 2012 R2 64位。我还知道服务器使用的是java版本“1.8.0_101”,这与我的本地设置相同。我已经包含了下面运行的代码示例

import java.util.concurrent.TimeUnit;

import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class SeleniumTestExample {
WebDriver driver;
@Before
public void setup(){
    System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer32bit.exe");
    DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
    ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
    driver = new InternetExplorerDriver(null, ieCapabilities);
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("https://google.com");
}

@Test
public void printPageTitle(){
    System.out.println("Title of Page is: " + driver.getTitle());
    driver.quit();
}
}

当穿过竹子时,原木中唯一的输出是线条

已启动InternetExplorerDriver服务器(32位)

2.53.1.0

侦听端口8080

只允许本地连接


应使用CI或Bambole服务器来控制测试。您不应尝试在CI服务器上运行测试。你的问题可能就是因为这个。您正在尝试将CI服务器用作本地计算机,但它不会以与本地计算机相同的方式响应。相反,您应该在设置中使用通过使用集线器和节点远程连接到计算机。您可能还必须使用。还可以查看post

CI或Bamboo服务器应用于控制测试。您不应尝试在CI服务器上运行测试。你的问题可能就是因为这个。您正在尝试将CI服务器用作本地计算机,但它不会以与本地计算机相同的方式响应。相反,您应该在设置中使用通过使用集线器和节点远程连接到计算机。您可能还必须使用。还可以看看post,我在TeamCity中看到了这一点,在本例中,IE告诉您,它的可执行文件将只接受来自本地机器的连接。据

IEDriverServer.exe启动的HTTP服务器将访问控制列表设置为仅接受来自本地计算机的连接,并禁止来自远程计算机的传入连接。目前,如果不修改IEDriverServer.exe的源代码,则无法更改此设置。要在远程计算机上运行Internet Explorer驱动程序,请将Java独立远程服务器与语言绑定的等效RemoteWebDriver结合使用

因此,首先通过如下参数运行chromedriver:

chromedriver --whitelisted-ips=""

这将基本上列出所有IP,当然并不总是一个理想的解决方案。但将显示您的测试可以在此CI配置上运行。接下来要查找的是您的用户权限。请您的管理员授予您更多权限以执行您的工作。请记住,IE的受保护模式可能需要用户进行一些额外的更改。如果没有帮助,请考虑IE节点。 我在TeamCity中看到了这一点,在这种情况下,IE告诉您,它的可执行文件将只接受来自本地机器的连接。据

IEDriverServer.exe启动的HTTP服务器将访问控制列表设置为仅接受来自本地计算机的连接,并禁止来自远程计算机的传入连接。目前,如果不修改IEDriverServer.exe的源代码,则无法更改此设置。要在远程计算机上运行Internet Explorer驱动程序,请将Java独立远程服务器与语言绑定的等效RemoteWebDriver结合使用

因此,首先通过如下参数运行chromedriver:

chromedriver --whitelisted-ips=""

这将基本上列出所有IP,当然并不总是一个理想的解决方案。但将显示您的测试可以在此CI配置上运行。接下来要查找的是您的用户权限。请您的管理员授予您更多权限以执行您的工作。请记住,IE的受保护模式可能需要用户进行一些额外的更改。如果没有帮助,请考虑IE节点。 尝试删除代码中的行:

System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer32bit.exe");
首先,它告诉selenium应该在哪里查找IE的webdriver。由于Bamboo服务器是一台windows计算机,因此必须使用文件的绝对路径设置它,如“C:\test\webdriver\IEDriverServer32bit.exe”

其次,可以使用任务的环境变量设置属性

第三,如果要动态定义它,可以在pom.xml中将属性定义为:


C:\test\webdriver\IEDriverServer32bit.exe

并在maven surefire插件的帮助下在系统属性中使用它

然后可以使用命令运行测试

mvn测试-Dwebdriver.ie.driver.path=C:\test\webdriver\IEDriverServer32bit.exe


不管你想走哪条路

尝试删除代码中的行:

System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer32bit.exe");
首先,它告诉selenium应该在哪里查找IE的webdriver。由于Bamboo服务器是一台windows计算机,因此必须使用文件的绝对路径设置它,如“C:\test\webdriver\IEDriverServer32bit.exe”

其次,可以使用任务的环境变量设置属性

第三,如果要动态定义它,可以在pom.xml中将属性定义为:


C:\test\webdriver\IEDriverServer32bit.exe

并在maven surefire插件的帮助下在系统属性中使用它

然后可以使用命令运行测试

mvn测试-Dwebdriver.ie.driver.path=C:\test\webdriver\IEDriverServer32bit.exe


不管你想走哪条路

您想在哪里运行CI(Bambol)服务器上的测试?是的,我想在Bambol服务器上运行这些测试,但是您能详细说明一下您的问题吗?您想在哪里运行CI(Bambol)服务器上的测试?