我正在使用Selenium在BrowserStack上执行测试,并且在测试IE8时遇到了问题。
我发现当我定位元素然后调用Click
时,行动的全部效果都没有进行*。
通过反复试验,我发现如果我拨打Click
两次,那么的预期行动就会。
但是,其中一个测试步骤涉及将一个数字写入文本字段,为此我有以下内容:
driver.FindElement(By.CssSelector("...")).Click();
driver.FindElement(By.CssSelector("...")).Clear();
driver.FindElement(By.CssSelector("...")).SendKeys(Keys.NumberPad1);
driver.FindElement(By.CssSelector("...")).Click();
但“1”从未出现在现场。我可以告诉它永远不会出现因为我在每一步之后捕捉截图;我可以看到该字段被突出显示(作为活动元素),我可以看到字段内的光标,但没有方法调用的结果。
此外,我甚至尝试给该字段一个ID并用
来解决它driver.FindElement(By.Id("txtCountManual")).SendKeys(Keys.NumberPad1);
但结果相同(缺乏)。
有没有人对如何使用Selenium和BrowserStack向IE8中的字段发送文本值有任何建议?
*“预期的操作”涉及使用Knockout.js在另一个元素中显示选定的值。例如,我发现如果我以编程方式单击一个单选按钮然后截取屏幕截图,我可以看到单击单选按钮但是Knockout.js执行的操作尚未发生;如果我第二次单击该元素然后执行Knockout.js操作。当我通过BrowserStack手动测试IE8时,不需要双击。