【问题标题】:Selenium Automation for FirefoxFirefox 的 Selenium 自动化
【发布时间】:2014-09-06 13:19:49
【问题描述】:

我是硒自动化的新手。我已经在系统中以管理员身份安装了 Selenium IDE 和 selenium RC ( java -jar selenium.jar)。我也在使用 Eclipse SDK 3.7.1 版。编译代码时出现以下错误(运行方式-> TestNG 测试)

package com.test.webdriver;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.support.ui.Select;

import org.testng.annotations.Test;

public class Driver

{

@Test //This is TestNG annotation

public void testRegister()

{

  WebDriver driver = new FirefoxDriver();

  driver.get("http://newtours.demoaut.com/");

  driver.findElement(By.linkText("REGISTER")).click();

  driver.findElement(By.name("firstName")).sendKeys("User1");

  driver.findElement(By.name("lastName")).sendKeys("Surname1");

  driver.findElement(By.name("phone")).sendKeys("123456789");

  driver.findElement(By.name("userName")).sendKeys("user1@test.com");

  driver.findElement(By.name("address1")).sendKeys("Test Address");

  driver.findElement(By.name("city")).sendKeys("Test City");

  Select select = new Select(driver.findElement(By.name("country")));

  select.selectByVisibleText("ANGOLA");

  driver.findElement(By.name("email")).sendKeys("user1@test.com");

  driver.findElement(By.name("password")).sendKeys("user1");

  driver.findElement(By.name("confirmPassword")).sendKeys("user1");

  driver.findElement(By.name("register")).click();

  driver.close();

  driver.quit();

  }

}

Selenium RC 版本是 2.42.2 和 firefox 版本 23.0

错误:

失败:testRegister org.openqa.selenium.WebDriverException:无法 在 45000 毫秒内绑定到锁定端口 7054 构建信息:版本: '2.19.0',修订:'15849',时间:'2012-02-08 16:12:19' 系统信息: os.name:'Windows 7',os.arch:'x86',os.version:'6.1',java.version: '1.7.0_25' 驱动程序信息:driver.version:驱动程序在 org.openqa.selenium.internal.SocketLock.lock(SocketLock.java:95) 在 org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:69) 在 org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:157) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:93) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:136) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:78) 在 com.test.webdriver.Driver.testRegister(Driver.java:23) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84) 在 org.testng.internal.Invoker.invokeMethod(Invoker.java:714) 在 org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) 在 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) 在 org.testng.TestRunner.privateRun(TestRunner.java:767) 在 org.testng.TestRunner.run(TestRunner.java:617) 在 org.testng.SuiteRunner.runTest(SuiteRunner.java:334) 在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) 在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) 在 org.testng.SuiteRunner.run(SuiteRunner.java:240) 在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1224) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1149) 在 org.testng.TestNG.run(TestNG.java:1057) 在 org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) 在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)

================================================ 默认测试

测试运行:1,失败:1,跳过:0

请给我一些解决方案。我也从测试管理器中杀死了 Firefox 会话,不走运。

【问题讨论】:

    标签: java eclipse selenium


    【解决方案1】:

    首先,在cmd中用“netstat -anb”查看7054端口是什么进程。

    其次,您可以使用自定义配置文件更改 Firefox 的 WebDriver 端口:

    FirefoxProfile profile = new FirefoxProfile();
    profile.setPreference(FirefoxProfile.PORT_PREFERENCE, 9876);
    WebDriver driver = new FirefoxDriver(profile);
    

    【讨论】:

    • 我检查了 netstat 命令,但端口是空闲的。还尝试了第二种解决方案,但在控制台中出现相同的错误。
    • @user3843636 类似的东西已经发布在Google Groups
    猜你喜欢
    • 1970-01-01
    • 2018-03-28
    • 2015-02-13
    • 2014-07-07
    • 2021-06-22
    • 2011-05-19
    • 2013-10-05
    • 2019-12-30
    • 1970-01-01
    相关资源
    最近更新 更多