我在响应式网站应用程序上遇到C#测试困难。我有四个网站的可能性。这些是相同代码的两个变体,但皮肤不同,每个变体都会相应地调整大小。我的测试使用代表桌面的1024x768和代表移动设备的420x620。两个桌面测试都可以完美运行,但是在尝试单击单选按钮时,只有一个(仅一个)移动设备崩溃。为了找到一个没有成功的解决方案,我多次修改我的代码;总是,三通,但一个手机崩溃。我最终使用以下代码来解决问题:
public void ClickRadioButton()
{
By element = By.Id("radioButtonID");
IWebElement wait = WaitForElementToAppear(WebDriver, 5000, element);
int x = wait.Location.X;
int y = wait.Location.Y;
wait.Click();
}
在wait.Click()处有一个断点并检查坐标值,wait.Location.X的值为52,wait.Location.Y的值为1596.这些坐标对于收音机的位置是正确的按钮但wait.click()失败并显示消息:
意外错误。在点(58,6)处不能点击元素。其他元素将收到点击:
我不明白为什么wait.Click()正在使用这些坐标。
答案 0 :(得分:0)
基本上,它可以选择radiobutton,因为它可能是一个不再可见的不可见的无线电按钮。如果您搜索多个单选按钮,请在找到的所有单选按钮上启动单击事件,并为系统找到的所有单选按钮设置“错误处理程序”,其中一个将单击您要查找的单选按钮。
此外,如果焦点是正确的,那么您应该使用SendKeys(“\ n”)事件替换.Click事件。