Ich werde verrückt, wirklich. Ich habe diesen Code:So implementieren Sie PhantomJS mit Selenium WebDriver mit Java
public class Creazione extends TestCase {
private PhantomJSDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
File file = new File("C:/Program Files/phantomjs-1.9.7-windows/phantomjs.exe");
System.setProperty("phantomjs.binary.path", file.getAbsolutePath());
driver = new PhantomJSDriver();
baseUrl = "http://www.gts.fiorentina.test/";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get(baseUrl + "/Account/Login.aspx?ReturnUrl=%2f");
findDynamicElement(By.id("tbUserName_I"), 2000);
driver.findElement(By.id("tbUserName_I")).clear();
driver.findElement(By.id("tbUserName_I")).sendKeys("rogai");
driver.findElement(By.id("tbPassword_I")).clear();
driver.findElement(By.id("tbPassword_I")).sendKeys("Fiorentina2014!");
driver.findElement(By.id("btnLogin_CD")).click();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testCreazione() throws Exception {
driver.get(baseUrl + "/SegreteriaSportiva/Calciatori.aspx");
findDynamicElement(By.cssSelector("#ASPxButton1_CD > span"), 2000);
driver.findElement(By.cssSelector("#ASPxButton1_CD > span")).click();
findDynamicElement(By.id("FrmEdit_TS_TipoPersonaId_FK_B-1"), 2000);
driver.findElement(By.id("FrmEdit_TS_TipoPersonaId_FK_B-1")).click();
driver.findElement(By.id("FrmEdit_TS_TipoPersonaId_FK_DDD_L_LBI2T0")).click();
driver.findElement(By.id("FrmEdit_Nome_I")).clear();
driver.findElement(By.id("FrmEdit_Nome_I")).sendKeys("Prova");
driver.findElement(By.id("FrmEdit_Cognome_I")).clear();
driver.findElement(By.id("FrmEdit_Cognome_I")).sendKeys("Calciatore");
driver.findElement(By.id("FrmEdit_TS_RuoloId_FK_B-1")).click();
driver.findElement(By.id("FrmEdit_TS_RuoloId_FK_DDD_L_LBI3T0")).click();
driver.findElement(By.id("FrmEdit_DataNascita_I")).clear();
driver.findElement(By.id("FrmEdit_DataNascita_I")).sendKeys("01/01/2014");
driver.findElement(By.id("FrmEdit_Cittadinanza_I")).clear();
driver.findElement(By.id("FrmEdit_Cittadinanza_I")).sendKeys("italiana");
driver.findElement(By.id("FrmEdit_LuogoNascita_I")).clear();
driver.findElement(By.id("FrmEdit_LuogoNascita_I")).sendKeys("roma");
driver.findElement(By.cssSelector("#BTN_Edit_CD > span")).click();
driver.findElement(By.id("Grid_DXFREditorcol3_I")).click();
driver.findElement(By.id("Grid_DXFREditorcol3_I")).sendKeys("Prova");
assertEquals("Prova",driver.findElement(By.xpath("//tr[@id='Grid_DXDataRow0']/td[3]")).getText());
}
}
Nach der Ausführung erhalte ich diese Fehler während der Laufzeit, finden Sie, dass trace ---
org.openqa.selenium.InvalidElementStateException: {"errorMessage":"Element is not currently interactable and may not be manipulated","request":{"headers":{"Accept-Encoding":"gzip,deflate","Connection":"Keep-Alive","Content-Length":"27","Content-Type":"application/json; charset=utf-8","Host":"localhost:20497","User-Agent":"Apache-HttpClient/4.3.2 (java 1.5)"},"httpVersion":"1.1","method":"POST","post":"{\"id\":\":wdc:1402393987914\"}","url":"/clear","urlParsed":{"anchor":"","query":"","file":"clear","directory":"/","path":"/clear","relative":"/clear","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/clear","queryKey":{},"chunks":["clear"]},"urlOriginal":"/session/e4b71580-f084-11e3-959e-273aa801dd81/element/%3Awdc%3A1402393987914/clear"}}
Command duration or timeout: 215 milliseconds
Build info: version: '2.42.1', revision: '68b415a', time: '2014-05-29 16:17:18'
System info: host: 'Silvio-Acer', ip: '10.10.1.122', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_55'
Session ID: e4b71580-f084-11e3-959e-273aa801dd81
Driver info: org.openqa.selenium.phantomjs.PhantomJSDriver
Capabilities [{platform=XP, acceptSslCerts=false, javascriptEnabled=true, browserName=phantomjs, rotatable=false, driverVersion=1.1.0, locationContextEnabled=false, version=1.9.7, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=false, browserConnectionEnabled=false, webStorageEnabled=false, nativeEvents=true, proxy={proxyType=direct}, applicationCacheEnabled=false, driverName=ghostdriver, takesScreenshot=true}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:600)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
at org.openqa.selenium.remote.RemoteWebElement.clear(RemoteWebElement.java:113)
at com.example.tests.Creazione.testCreazione(Creazione.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:255)
at junit.framework.TestSuite.run(TestSuite.java:250)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken
Build info: version: '2.42.1', revision: '68b415a', time: '2014-05-29 16:17:18'
System info: host: 'Silvio-Acer', ip: '10.10.1.122', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_55'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:136)
... 23 more
Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: {"errorMessage":"Element is not currently interactable and may not be manipulated","request":{"headers":{"Accept-Encoding":"gzip,deflate","Connection":"Keep-Alive","Content-Length":"27","Content-Type":"application/json; charset=utf-8","Host":"localhost:20497","User-Agent":"Apache-HttpClient/4.3.2 (java 1.5)"},"httpVersion":"1n.1","method":"POST","post":"{\"id\":\":wdc:1402393987914\"}","url":"/clear","urlParsed":{"anchor":"","query":"","file":"clear","directory":"/","path":"/clear","relative":"/clear","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/clear","queryKey":{},"chunks":["clear"]},"urlOriginal":"/session/e4b71580-f084-11e3-959e-273aa801dd81/element/%3Awdc%3A1402393987914/clear"}}
Build info: version: '2.42.1', revision: '68b415a', time: '2014-05-29 16:17:18'
System info: host: 'Silvio-Acer', ip: '10.10.1.122', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_55'
Driver info: driver.version: unknow
ich die phantomjs.exe in den Windows-Pfad hinzugefügt haben, hinzugefügt als externe Bibliothek der ghostdriver.jar, aber nichts ...
es ist wie zwei Tage, dass ich versuche, es funktioniert ...
Funktioniert es in einem anderen Browser? Gibt es eine Website oder HTML, die wir uns anschauen können? – SiKing