我在Firefox中运行自动化测试时遇到问题。我使用的是selenium webdriver c#。此代码在Chrome上运行完美,但在Firefox中运行时,sendkeys
功能无效。以下是元素详细信息:
Firefox 58版测试:
<input
id="uiAssessmentsDueDate"
class="form-control ng-pristine ng-valid ng-empty ng-touched"
ng-model="workshop.assessmentsDueDate"
ng-readonly="isReadonly"
tabindex="6"
type="date">
以下是我使用的代码:
Driver.FindElement(By.Id("uiAssessmentsDueDate")).SendKeys("01012018");
我之前尝试过点击框,我先尝试跳入框中,然后发送密钥。我已经尝试了我能想到的一切。如果有人有更好的方法来做这个或回答为什么这在Firefox中不起作用,那将非常感激。如果您需要更多信息,请告诉我
答案 0 :(得分:0)
我注意到的第一件事 - 有一个ng-readonly="isReadonly"
属性。只读输入不允许用户与他们交互,但不确定它是如何在实际网站中工作的,因为我从未使用过Angular。
尝试使用Selenium尽可能地模拟用户交互。如果单击输入提示日历,请使用该日历而不是发送密钥。
您可能想要检查的是当您与它进行交互时属性和字段如何变化(使用Firefox的控制台,就像它发生的那样),看看您写入的输入是否实际上是一个或当点击时焦点被发送到另一个;等