我正在测试一个网站,用户可以选择将输入字段更改为Textbox和Dropdown。无论用户将其更改为下拉列表还是文本框,输入字段的xpath都是相同的。所以,我不知道如何为这种情况编写测试步骤。
我想做点什么:
if (dropdown present)
{
Selenium.Select("dropdown xpath", "option");
}
else if (textbox present)
{
Selenium.Type("texbox xpath", "option");
}
任何人都可以帮帮我吗?在Selenium中是否有办法检查输入是否为“text”类型?
答案 0 :(得分:1)
您可以使用selenium.isElementPresent(locator)
构造中包含的if (..)
来检查是否存在元素,并相应地执行操作。
答案 1 :(得分:1)
我没有在selenium中看到一个简单的属性,但你可以通过调用javascript来获得它:
IWebElement element = ...
string tagName =((IJavaScriptExecutor)webDriver).ExecuteScript(“return arguments [0] .tagName”,element).ToString();
另一种方法是创建2个仅适用于其中一个的x路径,并尝试在try / catch中查找文本框。如果它遇到了捕获,那么请搜索下拉列表。