使用selenide(java)从下拉列表中选择选项时遇到一些问题。
以下是HTML代码的一小部分,我尝试按值选择选项:
[Java code]
String dateRangeSearchFor = "YESTERDAY";
ElementsCollection ListOfOptions = $(By.id("searchMaskForm:jobSearch_dateRange_input")).$$(By.tagName("option"));
logger.info("selecting option");
for (SelenideElement listElement : ListOfOptions)
{
String valueOfElement = listElement.getAttribute("value");
if (valueOfElement.equals(dateRangeSearchFor))
{
//$(By.xpath("//*[@id='searchMaskForm:jobSearch_dateRange_input']/option[contains(., '"+dateRangeSearchFor+"')]")).setSelected(true);
listElement.setSelected(true); break;
}
}
由于某种原因,代码无效,无论是文本还是索引。有什么建议吗?
修改:.click();
和selectOption();
无效
答案 0 :(得分:1)
SelenideElement
有方法selectOptionByValue(java.lang.String... value)
答案 1 :(得分:1)
Selenide提供以下用于在下拉列表中选择选项的方法。
答案 2 :(得分:0)
下面的代码将有助于:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// create a new cell if needed or reuse an old one
let cell:HomeTableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "Cell") as! HomeTableViewCell!
// let image : UIImageView = cell.contentView.viewWithTag(2) as! UIImageView
let gradient: CAGradientLayer = CAGradientLayer()
gradient.frame = cell.bgView.bounds
gradient.colors = [UIColor (colorLiteralRed: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 0.3), UIColor(red:0.51, green:0.53, blue:0.53, alpha:0.3)].map { $0.cgColor }
gradient.locations = [0.0,1.0]
cell.bgView?.layer.insertSublayer(gradient, at: 0)
cell.layoutIfNeeded()
cell.selectionStyle = UITableViewCellSelectionStyle.none
return cell
}
就我而言,确实如此。
顺便说一句,如果你正在创建的自动化测试套件是自动化的一部分,包括功能和负载测试,这个链接将帮助你在一个系统中组合这些工具,检查出来 - {{3} }。答案 3 :(得分:0)
如果您知道下拉菜单中元素的索引,那么您可以使用内置的方法 selectOption()
。
它看起来像这样:
$(CSS-selector).selectOption(index-of-element);
!!提醒:CSS 选择器必须指向 HTML 中的 <select>
元素。