Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 TestStack.Seleno复选框不工作_Asp.net Mvc 4_C# 4.0_Selenium Webdriver_Seleno - Fatal编程技术网

Asp.net mvc 4 TestStack.Seleno复选框不工作

Asp.net mvc 4 TestStack.Seleno复选框不工作,asp.net-mvc-4,c#-4.0,selenium-webdriver,seleno,Asp.net Mvc 4,C# 4.0,Selenium Webdriver,Seleno,我使用TestStack.Seleno测试了两个表单。这两种表单都有一个强制复选框。第一个表单包含复选框5个字段。我可以使用TestStack.Seleno创建一个具有有效数据的通过测试。我将复选框设置为: Input.TickCheckbox(f=>f.Accept,form.Accept); 在我的另一个表单上,它有10个左右的字段,当我尝试使用相同的代码将复选框设置为勾选时,什么也没有发生。然而当我尝试 var acceptCheckBox = Find.Ele

我使用TestStack.Seleno测试了两个表单。这两种表单都有一个强制复选框。第一个表单包含复选框5个字段。我可以使用TestStack.Seleno创建一个具有有效数据的通过测试。我将复选框设置为:

Input.TickCheckbox(f=>f.Accept,form.Accept);  
在我的另一个表单上,它有10个左右的字段,当我尝试使用相同的代码将复选框设置为勾选时,什么也没有发生。然而当我尝试

        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的最新版本


有什么想法吗?

所以我已经设法找出了问题所在,并找到了解决办法,但是我无法解释为什么它在另一种形式上有效。强制接受字段包含由mvc生成的html,如下所示

<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>
现在一切都好了

伊斯梅尔

               var acceptCheckBox = Find.Element(By.CssSelector("#Accept.check-box"));
            acceptCheckBox.Click();