- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想做这样的事情(注意 IWebDriver 而不是典型的字符串)
[Given(@"I select ""(.*)"" option")]
public void GivenInISelectOption(IWebDriver p0)
{
MainMenuPage.SelectOption(p0);
}
像这样成为 MainMenuClass:
class MainMenuPage
{
//spans
public static IWebElement SetupMenu
{ get { return Configuration.driver.FindElement(By.XPath(".//span[@id='Setup_navItem']")); } }
public static void SelectOption (IWebElement element)
{
element.Click();
}
}
使用情况应该是这样的:
And I select "SetupMenu" option
问题:是否可以使用步骤参数转换让步骤定义接受 IWebElement 而不是字符串?
最佳答案
我不能说它是否可行,但无论如何我都不会建议。但是,这里有一种方法可以解决您的问题:
[Given(@"I select ""(.*)"" option")]
public void GivenInISelectOption(string p0)
{
if(p0.Equals("SetupMenu"){
MainMenuPage.SelectOption(MainMenuPage.SetupMenu);
}
}
这样你仍然可以从 stepdef 中调用你需要的选项
另一种更简单的方法是:
[Given(@"I select ""(.*)"" option")]
public void GivenInISelectOption(string p0)
{
if(p0.Equals("SetupMenu"){
MainMenuPage.SetupMenu.Click();
}
}
关于c# - Specflow:通过步骤参数转换传递 IWebElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30329881/
我刚刚将我的 selenium 从 2.29.1 更新到 2.35,现在我在尝试编译我的应用程序时收到一些荒谬的错误消息: 第一个错误: cannot convert from 'OpenQA.Sel
如果我有一个元素,由一些选择器定义 By,是否有一种好的方法来向(测试)用户识别它? 例如: var element = driver.Find(By.CssSelector(".some .css"
您能解释一下 By 元素和 IWebElement 之间的区别吗? 此外,为什么 selenium 不使用其中一种? [FindsBy(How = How.XPath, Using = "//div[
有没有一种方便的方法来检查 IWebElement 是否匹配 By 选择器 像这样的东西: bool isMatch = iWebElement.Matches(By.CssSelector("[da
我想做这样的事情(注意 IWebDriver 而不是典型的字符串) [Given(@"I select ""(.*)"" option")] public void GivenInISelec
假设我有一个页面对象 [FindsBy(How = How.Id, Using = "buttonSignIn")] 公共(public) IWebElement BtnSignin { 得到;放;
所以我尝试点击 YouTube 上的一个按钮,但是我无法通过 Xpath 找到按钮,因为按钮太多了,所以我尝试将它们保存在一个 IList 中,现在我想点击列表。 ChromeDriver chrom
有没有办法选择里面的元素已经获得了IWebElement.我试图通过 C# 绑定(bind) (RemoteWebDriver) 来做到这一点,但是 findElem.FindElements(By.
我有一个带有登录页面的示例测试,我想在其中模拟成功登录,然后注销,最后使用错误密码登录失败。当我第一次导航到登录页面时,我使用以下代码查找元素: IWebElement username = wait
html代码:
我正在将 selenium webdriverwait 方法应用于特定的 IWebElement 以在可用时获取此 IWebElement 的一些子元素。这是我的代码... WebDriverWait
是否可以从 IWebElement 获取 WebDriver? 我需要以下扩展: public static bool HasFocus(this IWebElement e) { var d
我正在尝试填写网站上的文本字段,每次打开该网站时,该字段的 ID 都会发生变化。为了避免这个问题,我通过它的类名查找 web 元素,这似乎工作得很好,因为我可以通过 单击它 currentWebEle
当我这样声明我的 IWebElement 时: [FindsBy(How = How.CssSelector, Using = "input#raffle_submit")] private IWeb
我遇到了麻烦: 我有我公司的内部 HTML。在此页面中,我有一张表。我想在 C# 中将 HTML 表转换为 DataTable: 这是我的代码: IWebElement ie = driver.Fin
对于下面的代码, IWebElement element; // = new WebElement(); try { element = driver.FindElement(By...);
描述:显示在屏幕上的 HTML 元素(矩形)的复杂结构,没有重叠,每个矩形具有不同的 HTML id 属性(因此可由 Selenium IWebDriver 和 C# 代码选择)。 目标:我需要以编程
我想用 Selenium 从 DOM 中提取一些信息。我正在使用 C# WebDriver。 查看 IWebElement 接口(interface),您可以轻松提取给定的属性。但是,我想在事先不知道
目标:使用 PageObject 检查当前页面上是否存在元素/IWebElement。 我知道你可以使用类似的东西: IWait wait = new WebDriverWait(driver, Ti
我最近开始使用 Coypu 通过 Web 浏览器自动执行一些任务。它非常有用,尤其是在填写表格和导航链接时。 现在,我正在尝试处理表格数据。我实际上想获取表数据并最终将其转储到管道分隔的文本文件中。
我是一名优秀的程序员,十分优秀!