Selenium IDE:controlKeyDown 之类的东西不起作用

Selenium IDE: controlKeyDown and the likes not working

我仍在攻读计算机科学学位,目前主要关注数学方面的知识。然而,在我目前的工作中,我正在使用 Selenium IDE(特别是因为它不需要编码知识)并且我遇到了一些麻烦:

我需要在我们正在创建的基于 Web 的软件上测试 Shift + 单击以及选择(Control + 单击)命令,但它不起作用。但是,手动按下控制键然后单击屏幕上的不同元素可以正常工作。

就像我说的,我使用的是 Selenium IDE 2.9.1,并且我在安装了 Windows 10 的 Firefox 50.0.2 上使用它。我对该部分的命令如下:

Screenshot of the IDE command

很明显,这个想法是 select 名为 Field1 的对象,按下 Ctrl 键,select 进入名为 Field2 的对象,然后释放 Ctrl 键。无论如何,从理论上讲,这应该(并且在 IDE 之外手动完成时确实有效),select Field1,然后也从列表中挑选 Field2。

然而,事实并非如此,它不起作用。

任何人都可以告诉我如何在这里进行吗?命令的结构应该不同吗?我使用的命令不正确吗?还有什么我可以尝试的吗?

作为 PS:shiftKeyDown 命令也存在同样的问题。

我在网上搜索了这个问题,但还没有找到对我有用的帮助,因此 post。

期待您的回复,希望我能找到成功...:)

我认为是 Selenium IDE 原始命令问题。

当您尝试模拟按下 Ctrl 键并使用 "controlKeyDown/Up" 命令时,它只是更改了布尔值,并没有触发真正的按键 down/up 事件。 Shift 和 Alt 键也不起作用。

也许你应该尝试在 "controlKeyDown/Up" 命令之后添加一个 "keyDown/Up" 命令 并且目标可以是 //body 。

并且,如果您需要,请尝试使用工具 SideeX,Selenium IDE 的扩展版本。也许这个问题将来会得到解决并使测试用例变得灵活。这是 link 到 SideeX,还有关于该工具的更多详细信息。

好的,我找到了解决方案。

在编译测试时,我通过 运行 逐步测试它们以确保一切正常工作,然后将其保存到测试套件并让它 运行它自己的。现在,这涉及到我依次双击 Table 中的每个命令,并注视屏幕以确保它的执行和行为完全符合我的要求。简单、易懂、合乎逻辑、正确吗?

好吧,controlKeyDown 和 controlKeyUp 命令似乎不能以这种方式工作。

我仅使用 4 个命令构建了一个最低限度的测试用例:单击元素 controlKeyDown,单击下一个元素 controlKeyUp。我 运行 通过了一百次测试都没有成功,但后来我开始思考 - 如果 controlKeyDown 命令从未被释放怎么办?这将导致测试之外的问题(显然是在环境的其余部分),因为 Ctrl 键将被永久按下。所以我认为 Selenium IDE 要么 1. 在短时间内自动释放密钥(比我手动执行命令以手动单击下一个元素的速度更快)或 2. 如果它是,它会简单地忽略 controlKeyDown 命令不是 运行 完整测试 case/suite.

所以我采用了 4 行测试用例,构建了一个带有测试网格元素的测试屏幕和 运行 测试用例 - 它有效。实际上,完美。

因此,如果以后有人遇到类似问题,请尝试 运行 测试用例,而不是单击它或手动执行命令。