首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TestStack.Seleno TickCheckbox不工作

TestStack.Seleno TickCheckbox不工作
EN

Stack Overflow用户
提问于 2015-03-07 00:09:10
回答 1查看 131关注 0票数 1

我有2个表单,我正在使用TestStack.Seleno测试。这两个表单都有一个必选的复选框。第一个表单有5个字段(包括复选框)。我可以使用TestStack.Seleno创建一个包含有效数据的通过测试。我将复选框设置如下:

代码语言:javascript
复制
Input.TickCheckbox(f=>f.Accept,form.Accept);  

在我的另一个有10个左右字段的表单上,当我试图将复选框设置为勾选(使用相同的代码)时,没有任何反应。然而,当我尝试

代码语言:javascript
复制
        var acceptCheckBox = Find.Element(By.Name("Accept"),new TimeSpan(0,0,0,50));
        if (form.Accept)
        {
            acceptCheckBox.Click();
        }

I get error“元素当前不可见,因此可能无法与之交互”元素是清晰可见的,并且不是使用javascript注入的。

我使用的是github的最新版本的TestStack.Seleno。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-09 17:55:21

因此,我设法弄清楚了问题所在,并找到了解决方法,但是我无法解释为什么它适用于另一种形式。强制接受字段包含由mvc生成的html,如下所示

代码语言:javascript
复制
<div>
        <input class="check-box" data-val="true" data-val-mustbetrue="The Accept our field is required" data-val-required="The Accept our field is required." id="Accept" name="Accept" type="checkbox" value="true"><input name="Accept" type="hidden" value="false">
        <label for="Accept">
            Accept our Please accept our <a href="/terms-conditions/" style="text-decoration:underline;" target="_blank">Terms and Conditions</a>
        </label>

        <span class="field-validation-valid" data-valmsg-for="Accept" data-valmsg-replace="true"></span>
    </div>

因此,您的复选框和隐藏字段都带有id Accept,我怀疑代码中的seleno正在提取隐藏字段和设置值,因此我更新了我的代码todo

代码语言:javascript
复制
               var acceptCheckBox = Find.Element(By.CssSelector("#Accept.check-box"));
            acceptCheckBox.Click();

现在一切都正常了。

Ismail

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28902817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档