我还在攻读计算机科学学位,目前主要关注数学方面的问题。但是,在我目前的工作中,我正在使用Selenium IDE(特别是因为它不需要编码知识)并且我遇到了一些麻烦:
我需要在我们正在创建的基于网络的软件上测试Shift +点击以及樱桃选择(控制+点击)命令,但它无法正常工作。然而,手动按下控制然后单击屏幕上的不同元素可以正常工作。
就像我说的,我使用的是Selenium IDE 2.9.1,我在Windows 10上安装了Firefox 50.0.2。我在该部分的命令如下:
显然,想法是选择名为Field1的对象,按下Ctrl键,选择名为Field2的对象,然后释放Ctrl键。理论上这应该是(并且在IDE外部手动完成时),选择Field1然后从列表中挑选Field2。
然而,事实并非如此,它并没有起作用。
有人可以告诉我如何前往这里吗?命令的结构应该不同吗?我使用的命令不正确吗?还有什么我可以尝试的吗?
作为PS:同样的问题也存在于shiftKeyDown命令中。
我已经在网上搜索过这个问题,并且找不到对我有用的帮助,因此这篇文章。
我期待你的回复,希望我能找到成功...... :)
答案 0 :(得分:0)
我认为这是Selenium IDE原始命令问题。
当您尝试模拟按Ctrl键并使用" controlKeyDown / Up"命令,它只是更改了布尔值,并没有触发真正的键向下/向上事件。 Shift和Alt键也无法正常工作。
也许你应该尝试添加" keyDown / Up"命令" controlKeyDown / Up"命令和目标可以是// body。
并且,如果您需要,请尝试使用SideeX工具,即Selenium IDE的扩展版本。也许这个问题将来会得到解决,并使测试用例变得灵活。以下是SideeX的链接,有关该工具的详细信息。
答案 1 :(得分:0)
好的,我找到了解决方案。
在编译测试时,我会逐步运行它们来测试它们,以确保一切正常运行,然后将其保存到测试套件并让它自己运行。现在,这涉及我依次双击表格中的每个命令,并保持并关注屏幕以确保它的执行和行为与我想要的完全一样。简单,易懂,合乎逻辑,正确吗?
好吧,似乎controlKeyDown和controlKeyUp命令不能以这种方式工作。
我仅使用4个命令构建了一个极小的测试用例:单击元素,controlKeyDown,单击下一个元素controlKeyUp。我没有成功地经历了一百次测试,但后来我开始思考 - 如果从未发布过controlKeyDown命令怎么办?这会导致测试之外的问题(显然是在环境的其余部分),因为Ctrl键会被永久压下。所以我认为Selenium IDE要么是1.在很短的时间内自动释放密钥(比我可以执行命令手动点击下一个元素的速度快)或2.如果它没有运行,它会简单地忽略controlKeyDown命令完整的测试用例/套件。
所以我采用了4行测试用例,构建了一个带有测试网格元素的测试屏幕,并运行了测试用例 - 它的工作原理。完全,实际上。
因此,如果将来有人遇到类似问题,请尝试运行测试用例,而不是单击它或手动执行命令。