使用SelectByText(部分)与C#Selenium WebDriver绑定似乎不起作用
发布时间:2020-12-16 04:57:48 所属栏目:百科 来源:网络整理
导读:我在C#中使用Selenium WebDriver Extensions通过部分文本值从选择列表中选择一个值(实际前面有一个空格).我无法使用部分文本匹配来使其工作.我做错了什么或这是一个错误? 可重复的例子: using Microsoft.VisualStudio.TestTools.UnitTesting;using OpenQA.
我在C#中使用Selenium WebDriver Extensions通过部分文本值从选择列表中选择一个值(实际前面有一个空格).我无法使用部分文本匹配来使其工作.我做错了什么或这是一个错误?
可重复的例子: using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Firefox; using OpenQA.Selenium.Support.UI; namespace AutomatedTests { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { var driver = new FirefoxDriver(); driver.Navigate().GoToUrl("http://code.google.com/p/selenium/downloads/list"); var selectList = new SelectElement(driver.FindElement(By.Id("can"))); selectList.SelectByText("Featured downloads"); Assert.AreEqual(" Featured downloads",selectList.SelectedOption.Text); selectList.SelectByValue("4"); Assert.AreEqual("Deprecated downloads",selectList.SelectedOption.Text); driver.Quit(); } } } 提供错误: 解决方法
SelectByText方法已被破坏,因此我编写了自己的名为SelectBySubText的扩展方法来执行它的目的.
using System.Linq; using OpenQA.Selenium; using OpenQA.Selenium.Support.UI; namespace AutomatedTests.Extensions { public static class WebElementExtensions { public static void SelectBySubText(this SelectElement me,string subText) { foreach (var option in me.Options.Where(option => option.Text.Contains(subText))) { option.Click(); return; } me.SelectByText(subText); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |