我使用自己的库在 PHP 中进行功能测试,它基于JsonWireProtocol。
我有一个由 id 选择的选择元素,我需要从该元素中选择 2 个选项。我知道如何选择单个元素 - 我只是找到所需的选项并单击它。但是使用 2 个选项是不可能的,因为第二次单击会取消选择第一个选项。
我怎样才能做到这一点?
作为解决方法,我发送了一条 JavaScript 行,但我对这个解决方案不满意。
我使用自己的库在 PHP 中进行功能测试,它基于JsonWireProtocol。
我有一个由 id 选择的选择元素,我需要从该元素中选择 2 个选项。我知道如何选择单个元素 - 我只是找到所需的选项并单击它。但是使用 2 个选项是不可能的,因为第二次单击会取消选择第一个选项。
我怎样才能做到这一点?
作为解决方法,我发送了一条 JavaScript 行,但我对这个解决方案不满意。
从 JsonWireProtocol 草案版本中,我了解到 Selenium 将诸如 ctrl 和 shift 之类的修饰键解释为粘性。http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/keys和 code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/keys
所以我自己没有对此进行测试,但在我看来,您可以发送一个 ctrl-keypress,然后单击两次您要选择的选项,然后再按一次 ctrl-keypress 来“按下” ctrl-key。