需要使用selenium Java

时间:2017-07-11 13:56:18

标签: java selenium cucumber

我需要验证4个复选框是否完好无损。我不确定这个场景是否是自动化候选人,但我完全空白如何验证复选框的订单。请让我知道如果你有任何使用java和selenium的解决方案。

2 个答案:

答案 0 :(得分:0)

如果每个元素都具有唯一ID,则可以执行此操作。

  1. 以显示顺序的方式形成xpath,查询元素使用xpath,即第一个元素为XPathDocument missionDoc = new XPathDocument(objectivesPath + "MissionObjectives" + chosenTheme + ".xml"); XPathNavigator nav = missionDoc.CreateNavigator(); foreach (Scenery scenery in world.currentWorld) { int sceneryType = scenery.type; XPathExpression expr = nav.Compile($"MissionObjectives/Theme/SceneryType[text()='{sceneryType}']//Objective"); XPathNodeIterator iterator = nav.Select(expr); while (iterator.MoveNext()) { XPathNavigator nav2 = iterator.Current.Clone(); compatibleObjectivesList.Add(nav2.Value); } } ,第二个元素为//div/span[1]/input。 (请确保xpath可以,例如。)

  2. 然后检查//div/span[2]/input属性

  3. 我实际上也找到了一个例子。

    name or id

答案 1 :(得分:0)

以下是示例代码。

driver.get("https://www.w3schools.com/Html/tryit.asp?filename=tryhtml_checkbox");
driver.switchTo().frame(driver.findElement(by.id("iframeResult")));

string locator = "/html/body/form/input[%s]"; 
public void verifyCheckBoxOrder(string firstCheckboxText, string secondCheckboxText){
    String checkboxNames = new String[2];
    for(int i = 0; i < 2; i++){
        checkboxNames[i] = (driver.findElement(by.xpath(string.format(locator, i))).getAttribute("textContent")); 
    }
    Assert.assertEqual(firstCheckBoxText, checkboxNames[0], "Checkbox 1 text is not in correct order");
    Assert.assertEqual(secondCheckBoxText, checkboxNames[1], "Checkbox 2 text is not in correct order");
}

您可以根据需要进行更改,因为您有更多复选框