2015-11-17 32 views
0

我写了一个非常基本的脚本来登录应用程序并注销。脚本一旦登录到应用程序就停止工作,并给出异常,我无法弄清楚原因。这是剧本。Webdriver执行不起作用(Webdriverexception)

public class Login { 

WebDriver driver = new FirefoxDriver(); 
String url = "http://xxxxxxxxx"; 

@Test 
public void login_class() { 

    driver.get(url + "/Web/guest/login.aspx"); 
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 
    driver.findElement(By.id("txtUserName")).clear(); 
    driver.findElement(By.id("txtUserName")).sendKeys("[email protected]"); 
    driver.findElement(By.id("txtPassword")).clear(); 
    driver.findElement(By.id("txtPassword")).sendKeys("xxxxx123"); 
    driver.findElement(By.id("btnLogin")).click(); 
    driver.get(url + "Web/guest/home/default.aspx"); 
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 
    driver.findElement(
      By.cssSelector("span.menu-icons-sprite.menu-icon-signout")) 
      .click(); 

} 

@BeforeTest 
public void create_driver() { 

    driver.get(url); 
    driver.manage().window().maximize(); 

} 

@AfterTest 
public void exit() { 

    driver.quit(); 
} 

}

而鉴于例外之后

失败:login_class org.openqa.selenium.WebDriverException:f.QueryInterface不是一个函数 命令持续时间或超时:5.10秒 Build info:'2.48.2',revision:'41bccdd',time:'2015-10-09 19:55:52' 系统信息:host:'xxxxx-PC',ip:'10.0.192' ,os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.7.0_45' 会话ID:1e311cd0-34d1-4dd2-9cde-e52cbb9fb52e 驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver 功能[{platform = WINDOWS,acceptSslCerts = true,javascriptEnabled = true,cssSelectorsEnabled = true,databaseEnabled = true, browserName = firefox,handlesAlerts = true,nativeEvents = false,webStorageEnabled = true,rotate = false,locationContextEnabled = true,applicationCacheEnabled = true,takesScreenshot = true,version = 42.0}] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) at org.openqa.selenium.remote。 RemoteWebDriver.execute(RemoteWebDriver.java:647) at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:311) at bileetaTest.Login.login_class(Login.java:27) at sun.reflect。 NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke (Method.java:606) at org.testng.internal.MethodInvocationH在org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816) 处,orper.invokeMethod(MethodInvocationHelper.java:85) at org.testng.internal.Invoker.invokeMethod(Invoker.java:639) 。 testng.internal.Invoker.invokeTestMethods(Invoker.java:1124) 在org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) 在org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) 在org.testng.TestRunner.privateRun(TestRunner.java:774) 在org.testng.TestRunner.run(TestRunner.java:624) 在org.testng.SuiteRunner.runTest(SuiteRunner.java:359) 在org.testng.SuiteRunner.run依次(SuiteRunner.java:354) at org.testng.SuiteRunner.privateRun(Sui teRunner.java:312) 在org.testng.SuiteRunner.run(SuiteRunner.java:261) 在org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 在org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker。的java:86) 在org.testng.TestNG.runSuitesSequentially(TestNG.java:1215) 在org.testng.TestNG.runSuitesLocally(TestNG.java:1140) 在org.testng.TestNG.run(TestNG.java: 1048) at org.testng.remote。RemoteTestNG.run(RemoteTestNG.java:112) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:176) 引起: org.openqa.selenium.WebDriverException:f.QueryInterface不是函数 构建信息:版本:'2.48.2',修订版本:'41bccdd',时间:'2015-10-09 19:55:52' 系统信息:host:'xxxx-PC',ip:'xxxxxxx',os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.7.0_45' 驱动程序信息:driver.version:unknown at .FirefoxDriver.prototype.get(file:/// C:/Users/xxxxxx/AppData/Local/Temp/anonymous3548365288572112291webdriver-profile/extensions/[email protected]/components/driver -component.js:10523)

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

测试运行:1,故障:1,跳过:0

回答

0

的问题是我得再添“/”路径之前,我已经提供。

+0

你为什么这样导航。为什么不单击主页按钮? – Shamik

+0

主页按钮是在一个单独的菜单中,我只是想这样做..没有特别的需要,实际上我会稍后点击主页按钮。 – user3149750

+0

如果该网址发生变化,您必须更改代码。但是,如果您单击主页按钮,则无需更改代码。这是点击主页按钮的优势 – Shamik