问题标签 [watir-webdriver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 测试脚本中的非拉丁字母导致“没有键翻译。假设 unicode 输入......”
当我在 Windows7+Ruby1.9.2+watir-webdriver 上执行这个测试脚本时:
脚本在 Firefox 中执行良好,但 IE9 在尝试在文本字段中设置“ā”字母时崩溃,CMD 显示如下:
脚本在 Chrome 中完全执行,但在 CMD 中仍然显示一些警告:
# encoding: utf-8
除了在 IE 和 Chrome 中正常工作之外,我是否需要指定其他任何内容?
我建议在您的计算机上执行上述脚本,以确定这是常见问题还是我的配置中的问题。
watir - 在 watir 中查找标签的直接子代
我有一个包含多个列的表,其中数据是从数据库中填充的。这些列可以有下拉列表、文本字段、复选框以及简单的文本。我需要写下一个函数,它本质上将返回表列中存在的数据。
这是一个关于如何在网页中命名标签的示例。[表的 CSS 归功于 w3schools]。
现在,我用来确定列中所有值的算法说“公司”是
- 确定具有类 = 或子字符串的行数为“数据行”。
- 构造字符串以获取单元格并将其从 0 迭代到 n-1
- 使用 text 方法检索文本
现在,如果我在 select_list 上使用它,它会返回列表中的所有选项。因此,我将检查标记的子项是文本字段还是下拉列表,并调用它们各自的函数来获取它们的值。
有没有一种方法可以在 Watir 中确定特定标签的子标签是否是特定标签,或者是否有类似于 JavaScript 中的 getAllChildNodes 的方法?
很抱歉描述过度,并提前感谢任何可能的解决方案。
watir - Watir Webdriver 计算 UL 列表中的项目数
我已经进行了几次搜索,但找不到合适的答案。基本上我有一个可以有不同长度的无序列表。我想遍历列表,做一些其他的事情,然后回来选择列表中的下一个项目。当我定义循环应该迭代的次数时,我可以做到这一点,因为我知道列表中的项目数量。
但是我不想为每个测试定义这个,我想获取列表中的项目数,然后将其弹出到一个变量中,我可以用它来退出循环并做我想做的下一件事。
HTML 是这样的:
所以我可以看到列表中有 7 个项目。显然,在 watir 中,我可以使用以下内容:
arr= ie.select_list(:name,'lr').getAllContents.to_a
但不是使用 webdriver。
我想我也许可以使用 'lis' 但我只是得到一个十六进制结果:
$bob = browser.ul(:id => "PageContent_cat").lis 放 $bob
谢谢,
保罗
ruby - Watir-webdriver:在 IE 和 Firefox 正常工作的站点上出现 Chrome 未处理错误
所以我认为这可能是 ChromeDriver 的错误,但想先在这里问一下。
我在使用 chrome 的几乎所有 webdriver 函数时都遇到了问题,但 IE 和 Firefox 运行良好。
该站点是 www.bing.com 使用 Windows live 登录的站点。
一旦在该站点使用 chrome 时,我可以正常工作的唯一两个功能是
是唯一正常工作的功能。当我尝试
我明白了
Selenium::WebDriver::Error::UnhandledError:
使用 :id 等来引用对象也不起作用。
但是 IE 和 Firefox 可以很好地与站点交互。
如果您需要代码或说明,请告诉我,但基本上我无法让 chrome 与该登录站点进行交互。(其他网站在 chrome 上工作得很好)
php - PHP 的 shell_exec 不允许“Watir::Browser.new :firefox”执行
我是 ruby 和 Watir 的新手,这是我的问题......
我有一个 MySQL 数据库,里面有我需要的测试数据。过去我对这些数据做了很多工作,所以我有一个完整的 PHP 工具库来访问这些数据,将数据标记为使用/使用/坏/等,总的来说,我有很多时间投入到PHP 框架。所以我真的很想使用 PHP 框架作为 Watir 脚本的包装器——例如,使用 PHP 从数据库中获取测试用户登录数据并将其传递给 ruby 脚本进行处理。
我现在有需要工作/测试的带有 javascript 的网站,而 PHP 和 cURL 无法处理这个问题。因此,我正在为这些站点在 Ubuntu 10.10(Maverick,桌面而非服务器)上使用 Watir-WebDriver。我遇到的问题是在所有 Watir 代码中使用 PHP 的 shell_exec 的 ruby 脚本。
PHP shell_exec 正在执行该文件 - 我可以看到它,因为我在文件中有一些正在显示的 puts 行。但是,代码似乎在线失败
我没有从 PHP 中得到错误。
PHP 行是:
当我从终端窗口调用它时,ruby 脚本工作正常:
我最初预计这是一个权限问题,因为它是从命令行而不是从浏览器中工作的。但是,由于它可以很好地调用文件以返回我为测试提供的硬编码数据,因此 ruby 文件权限似乎不是问题。从 www-data 用户打开 Firefox 窗口是否存在权限问题?
当我跑
我得到:
如何让 PHP 正确执行 shell_exec?该脚本有效,我的初始测试是使用 firewatir 运行的(shell_exec 运行良好),但我真的想使用 Watir-WebDriver 而不是 FireWatir - WatirWebDriver 应该能够运行 Chrome 浏览器(和 Windows 机器上的 IE),而 FireWatir只能运行火狐。
谢谢加布
这是我的“创建浏览器”代码:
ruby - Watir-Webdriver:上传文件在 firefox 上无法正常工作
使用此代码,我无法将文件正确上传到网站。
代码运行后,它通过显示一个旋转的轮子来表明它正在上传,但它实际上从未上传,并且轮子只是继续旋转。如果我自己上传它,虽然它上传得很好。
这是 html 的链接:http: //f.cl.ly/items/3v3o1p1g0t2S1q3q3Q1h/Text%202011.09.03%2011:40:06%20 PM.html
如您所见,html 位于表单标签中。如果我尝试在不先通过表单的情况下访问 file_field,它会给我一个错误,说元素无法交互,因为它不可见。有人知道发生了什么吗?
ruby - 从 select_list 收集值以避免 watir-webdriver ObsoleteElementError
我正在尝试解决 ObsoleteElementError http://bit.ly/qhEhMv并在从 select_list 中收集值时摸不着头脑。我敢肯定我已经看了这么久,我错过了一些愚蠢的东西。我得到的最接近的是
但这只是重复第一个值,直到达到值的总数(在本例中为 9)。
watir - Watir-webdriver 可以捕获控制台错误吗?
我想知道 watir-webdriver 是否能够记录任何控制台错误的输出?这相当于在浏览器中手动打开控制台并在页面加载时观察 JS 错误。我可以通过 watir-webdriver 捕获它并登录/错误吗?
watir - 如何指定安装 Firefox 以用于 watir-webdriver 脚本执行
出于测试目的,我在一台使用Utilu FF collection制作的机器上安装了多个 Firefox 安装/版本。
如果有
在测试脚本中,它会自动执行最旧的 FF 版本,在我的例子中是 3.6.22。我很惊讶,因为我假设默认脚本将在 Windows 默认浏览器中执行,即 Firefox6 而不是 Firefox 3.6.22。
如何指定必须使用哪个安装/版本的 Firefox 来执行 Watir-webdriver 测试脚本?
ruby - watir-webdriver + RWebSpec
一般来说,我是红宝石和编程方面的新手。我有一个,也许愚蠢的问题是可以将 rwebspec 中的所有方法与watir -webdriver一起使用。如果可能的话,请告诉我。
谢谢