我需要验证4个复选框是否完好无损。我不确定这个场景是否是自动化候选人,但我完全空白如何验证复选框的订单。请让我知道如果你有任何使用java和selenium的解决方案。
答案 0 :(得分:0)
如果每个元素都具有唯一ID,则可以执行此操作。
以显示顺序的方式形成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可以,例如。)
然后检查//div/span[2]/input
属性
我实际上也找到了一个例子。
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");
}
您可以根据需要进行更改,因为您有更多复选框