Ruby on rails 如何使用Selenium测试jQuery令牌输入字段

Ruby on rails 如何使用Selenium测试jQuery令牌输入字段,ruby-on-rails,testing,selenium,capybara,jquery-tokeninput,Ruby On Rails,Testing,Selenium,Capybara,Jquery Tokeninput,我无法使用selenium测试表单中的Tokeninput字段。情况是,当我们键入某个内容时,它会给出一个要选择的选项列表,但这些选项不是DOM的一部分。文本将填充字段,但不选择项目 我写的代码是: 给定管理员用户在计划面试页面上 他从候选人姓名字段中选择obie[1]和DHH[1] **阶跃定义** 给定/^他从候选名称\s\auto-sugget字段$/do|arg1、arg2中选择[^]*和[^]*| 内部:css、面试模板、候选人姓名、输入do 在'tmp'中填充_,:with=>arg

我无法使用selenium测试表单中的Tokeninput字段。情况是,当我们键入某个内容时,它会给出一个要选择的选项列表,但这些选项不是DOM的一部分。文本将填充字段,但不选择项目

我写的代码是:

给定管理员用户在计划面试页面上 他从候选人姓名字段中选择obie[1]和DHH[1] **阶跃定义** 给定/^他从候选名称\s\auto-sugget字段$/do|arg1、arg2中选择[^]*和[^]*| 内部:css、面试模板、候选人姓名、输入do 在'tmp'中填充_,:with=>arg1-tmp是令牌输入字段的名称 findli:包含“obie[1]”。单击 保存并打开页面 终止 终止
我终于成功地完成了这项工作。要点如下:

该列表是dom div.token-input下拉列表的一部分,它被添加为body元素的最后一个子元素,这可能是您没有看到它的原因

如果您了解tokeninput插件正在做什么,您可以更好地了解您需要做什么。对于您创建的每个令牌输入,插件:

在输入您的输入id之前立即创建ul.token-input-list 创建ul.token-input-list inputtoken-input-your_input_id 隐藏您的输入id的输入 创建div.token-input下拉列表 因此,最具挑战性的部分是找到正确的ul.token-input-list,因为您必须根据它相对于原始输入的位置来找到它,而selenium webdriver不允许您在dom中导航


之后,您只需填写inputOken-input-your\u input\u id,然后单击与您要查找的内容匹配的div.token-input-dropdown li选项。

我终于成功地完成了这项工作。要点如下:

该列表是dom div.token-input下拉列表的一部分,它被添加为body元素的最后一个子元素,这可能是您没有看到它的原因

如果您了解tokeninput插件正在做什么,您可以更好地了解您需要做什么。对于您创建的每个令牌输入,插件:

在输入您的输入id之前立即创建ul.token-input-list 创建ul.token-input-list inputtoken-input-your_input_id 隐藏您的输入id的输入 创建div.token-input下拉列表 因此,最具挑战性的部分是找到正确的ul.token-input-list,因为您必须根据它相对于原始输入的位置来找到它,而selenium webdriver不允许您在dom中导航


之后,您只需填写inputOken-input-your\u input\u id,然后单击div.token-input-dropdown li选项,该选项与您要查找的内容相匹配。

是的,这对我很有效。这个例子很好:是的,这对我来说很有效。这个例子很好: