Selenium Webdriver 测试删除按钮单击时的输入
Selenium Webdriver test removes input on button click
我 运行 遇到了我的 selenium webdriver 测试的问题,如果我在 phone 数字字段中输入内容然后单击调用按钮,它将清除输入并没做什么。但是,如果我 运行 它在调试中有一个断点在我的等待中,它将 运行 正常。该代码适用于 softphone 应用程序,我只是想输入 phone 号码,然后单击呼叫按钮。我已将问题缩小到从第 302 行开始,但不知道它可能是什么。
我尝试过的事情:
我试过使用等待、thread.sleeps、毫秒、秒等。
我已经尝试将 if 语句移出到一个动作 class 中,就像我的其他动作一样从测试中调用它。我已经尝试摆脱 if 语句并只使用等待,代码似乎只是跳过它们。
这是 C# 代码。所有 PerformAction 都引用操作 classes,检查以确保元素是 visible/clickable。操作 classes 引用元素。我已将隐式等待设置为 0,因此它应该只使用显式。
所以我的问题是,如何让我的代码停止跳过等待 and/or 停止清除输入字段?
test code screenshot
最终的问题是,在进入测试之前,已经检查了元素 visibility/clickability。这使得功能变得奇怪和跳跃。在我的操作方法中检查元素之前添加睡眠似乎已经解决了这个问题。
我 运行 遇到了我的 selenium webdriver 测试的问题,如果我在 phone 数字字段中输入内容然后单击调用按钮,它将清除输入并没做什么。但是,如果我 运行 它在调试中有一个断点在我的等待中,它将 运行 正常。该代码适用于 softphone 应用程序,我只是想输入 phone 号码,然后单击呼叫按钮。我已将问题缩小到从第 302 行开始,但不知道它可能是什么。 我尝试过的事情: 我试过使用等待、thread.sleeps、毫秒、秒等。 我已经尝试将 if 语句移出到一个动作 class 中,就像我的其他动作一样从测试中调用它。我已经尝试摆脱 if 语句并只使用等待,代码似乎只是跳过它们。
这是 C# 代码。所有 PerformAction 都引用操作 classes,检查以确保元素是 visible/clickable。操作 classes 引用元素。我已将隐式等待设置为 0,因此它应该只使用显式。
所以我的问题是,如何让我的代码停止跳过等待 and/or 停止清除输入字段?
test code screenshot
最终的问题是,在进入测试之前,已经检查了元素 visibility/clickability。这使得功能变得奇怪和跳跃。在我的操作方法中检查元素之前添加睡眠似乎已经解决了这个问题。