ウェブサイトをテストするためのスクリプトを作成しました。すべての要素についてGoogle ChromeからXpathを取得しましたが、Microsoft Edgeでテストしたかったのですが、 、私はorg.openqa.selenium.remote.ProtocolHandshake createSession
エラーが発生します。だから私の推測では、それはEdge上の要素を見つけることができないということです。ChromeからのXPathがMicrosoft Edgeで動作しない
public class testing
{
ExtentHtmlReporter htmlreporter = new ExtentHtmlReporter("D:\\Selenium\\test_report.html");
ExtentReports extent = new ExtentReports();
ExtentTest test;
JavascriptExecutor jse;
WebDriver driver;
@BeforeTest
public void setup()
{
System.setProperty("webdriver.edge.driver", "D:\\Selenium\\MicrosoftWebDriver.exe");
driver = new EdgeDriver();
driver.manage().window().maximize();
extent.attachReporter(htmlreporter);
jse = (JavascriptExecutor)driver;
extent.setSystemInfo("Browseer", "Microsoft Edge");
extent.setSystemInfo("OS", "Windows 10");
driver.get("https://www.hoteltreeoflife.com/reservation");
}
@Test
public void test1()
{
test = extent.createTest("Test Case 1 : Selecting the dates", "Clicking check availabiluty with default dates");
test.info("Finding Check Availability");
driver.findElement(By.xpath("/html/body/div[1]/div[3]/div[2]/div/div/form/div[4]/button")).click(); //<-- This is the element
test.info("Clicks on Check Availability");
String title = driver.getTitle();
Assert.assertTrue(title.contains("Choose Your Room"));
test.info("Successfully selected dates");
}
}
私はEdge上のXpathを取得する方法も見つけられませんでした。
EDIT:
これは完全な誤りである:
は、絶対パスのCheck availability
代わりに、ボタンをクリックしてください:ここで
[TestNG] Running:
Command line suite
[VerboseTestNG] RUNNING: Suite: "Command line test" containing "1" Tests (config: null)
[VerboseTestNG] INVOKING CONFIGURATION: "Command line test" - @BeforeTest newpackage.testing.setup()
[16:46:55.985] - Listening on http://localhost:4848/
Jul 26, 2017 4:46:57 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
[VerboseTestNG] PASSED CONFIGURATION: "Command line test" - @BeforeTest newpackage.testing.setup() finished in 4794 ms
[VerboseTestNG] INVOKING: "Command line test" - newpackage.testing.test1()
[VerboseTestNG] FAILED: "Command line test" - newpackage.testing.test1() finished in 303 ms
[VerboseTestNG] java.lang.AssertionError: expected [true] but found [false]
[VerboseTestNG] at newpackage.testing.test1(testing.java:53)
[VerboseTestNG] INVOKING CONFIGURATION: "Command line test" - @AfterMethod newpackage.testing.check(org.testng.ITestResult)(value(s): [TestResult name=test1 status=FAILURE method=testing.test1()[pri:0, instance:[email protected]] output={null}])
[VerboseTestNG] PASSED CONFIGURATION: "Command line test" - @AfterMethod newpackage.testing.check(org.testng.ITestResult)(value(s): [TestResult name=test1 status=FAILURE method=testing.test1()[pri:0, instance:[email protected]] output={null}]) finished in 462 ms
[VerboseTestNG] INVOKING CONFIGURATION: "Command line test" - @AfterTest newpackage.testing.close()
[16:47:03.511] - Stopping server.
[VerboseTestNG] PASSED CONFIGURATION: "Command line test" - @AfterTest newpackage.testing.close() finished in 3788 ms
[VerboseTestNG]
[VerboseTestNG] ===============================================
[VerboseTestNG] Command line test
[VerboseTestNG] Tests run: 1, Failures: 1, Skips: 0
[VerboseTestNG] ===============================================
===============================================
Command line suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================
Java Result: 1
完全なエラーは何ですか?それはむしろエッジに接続することさえできません。 –
私はそれが要素を見つけることに関連しているとは思わない。 – NarendraR
@TamasHegedusこれはEdgeと接続してURLを開きますが、driver.findElement(By.xpath( "/ html/body/div [1]/div [3]/div)要素をクリックするとテストが失敗します。 –