问题标签 [browser-automation]

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.

0 投票
2 回答
1626 浏览

browser-automation - 编写自动化端到端用户场景的有效方法是什么?

在自动化用户场景时,我们通常涵盖端到端的用户流程。单元测试建议每个测试方法应该是独立的,并且只测试一件事。但是在系统验收测试中情况有所不同,因为我们必须涵盖通过应用程序的用户流程。

考虑一个电子商务应用程序,其中用户旅程通常遵循以下步骤:

1 - 访问主页
2 - 搜索产品
3 - 选择产品
4 - 将产品添加到购物车
5 - 点击结帐
6 - 登录
7 - 输入付款详情
8 - 提交订单
9 - 等待确认

现在这些步骤中的每一个都需要在我们浏览用户旅程时进行验证。因此,测试方法存在依赖性,例如第 3 步依赖于第 2 步,这破坏了单元测试实践。此外,如果我们将所有步骤都放在一种测试方法中,那么如果测试失败,就不容易检测到哪里出了问题。如果我们想隔离每个测试方法,使它们彼此独立,我们必须一遍又一遍地重复初始步骤。

我过去所做的是使用 TestNG 来提供对以前测试方法的这种依赖。我想知道如何在您的测试中处理用户旅程。

您如何处理测试中的用户旅程?

0 投票
4 回答
24633 浏览

firefox - 带有 Java 代码的 WebDriver 不会打开 Firefox,并且在 Windows XP 中什么也不做

我正在尝试在 Firefox 中使用 Java 运行 Selenium2(称为 WebDriver)。它甚至不会打开 Firefox 并在控制台中抛出任何错误。它保持空闲状态,什么也不做..

我正在使用 FF 13 beta Selenium WebDriver 2.23.1(最新)Win XP

我还尝试了降级 FF 版本(更改为 9),它没有用,将 WebDriver 从 2.22 更新到最新(2.23.1),它没有用

当我在 InternetExplorer(8) 中运行此代码时,它将打开浏览器但不会识别任何元素并且测试失败..

我的代码:

0 投票
1 回答
145 浏览

gmail - 通过 QuickTest Pro 在 Gmail 中使用快捷键

当我在 QTP 中并自动执行 Gmail 会话时,很多页面都是动态的。我需要能够让我在任何 gmail UI 中使用键盘快捷键的代码行。

0 投票
1 回答
4853 浏览

selenium - 当浏览器忙于执行一些长时间运行的 JavaScript 时,WebDriver API 的阻塞行为

我在文档的某处读到 WebDriver API 是非阻塞的(除了一些像 driver.get 的)。因此,执行 WebElement click() 或 isDisplayed() 通常应该是异步的(当然,假设启用了本机事件)。

我有一个简单的 HTML 页面,它执行一个长操作(基本上是一个长循环)。当 JS 执行时,浏览器没有响应,这是预期的。但我也注意到,只要浏览器忙于执行脚本,WebDriver API 就像 click()/isDisplayed()/executeScript() 块一样。

由于 WebDriver 为点击发出原生事件,而不是合成的 JS 事件,我很困惑为什么 API 会阻塞。虽然目前这种行为并没有困扰我,但我想知道在对无响应的页面运行测试时是否可以依赖这种阻塞性质?我确实在我的测试中使用了条件等待,但想了解幕后发生了什么以及这是否是特定于浏览器/操作系统的?

我在 Windows 7 上使用 InternetExplorerDriver (IE9) 和 ChromeDriver (Chrome 19) 在 Selenium 2.20.0 中看到了这种行为。

0 投票
4 回答
15972 浏览

excel - Excel VBA SendKeys 不会导致 IE 9 保存下载

我正在编写一个宏来从我公司的内部网站下载一个 csv 文件。

由于许多原因,我不能使用任何 xmlhttp 对象。宏将下载文件。问题是 Internet Explorer 9 使用打开、保存和取消按钮提示用户。

在 IE 中,Alt+Shift+S 将保存下载,但我无法从 Excel VBA 中获取 Sendkeys "%+s" 方法。

以下是相关代码:

0 投票
1 回答
11734 浏览

vba - IE 9 不接受 SendKeys

我在IE 9 上发布了不接受 SendKeys 来下载文件,但这个问题与我收到的答案足以证明另一个问题的合理性。我的问题是我无法让 IE 9 接受任何SendKeys. 我尝试了Page Down, Tab, 所有的F#键,但它们都不起作用。

这是我正在使用的代码:

我完全不知所措,因为似乎大多数论坛或教程对 IE 9 没有任何不同。IE 对象是在类模块中创建并在Class_Initialize子模块中初始化的。我不确定这是否有帮助,但我真的不知道为什么这不起作用,以及如何将密钥发送到 IE 的任何帮助将不胜感激。

0 投票
1 回答
2675 浏览

python - 登录 Steam 网站

我正在寻找一个脚本来登录 SteamPowered.com 网站,然后导航到帐户页面。我编写了一个脚本,该脚本从该页面获取销售额并将其加起来。问题是我必须手动将 HTML 保存到文件中,然后打开该文件。我试图这样做,requests但我认为 Steam 使用 OpenID 或类似的东西,我无法登录。然后我看了看,mechanize但由于验证码,我无法通过登录屏幕,尽我所能告诉。

使用 Python 登录 Steam 网站需要采取哪些必要步骤?

如果您有兴趣,这里是总销售柜台。不过这是较早的版本,因此如果系统上的销售额少于 6 个,则需要处理索引错误,并且您将无法验证总销售额。http://pastebin.com/3CXBJUGe


更新:我开始使用 Selenium,除非我让它在我当前打开的浏览器中打开一个新标签,否则它会弹出要求用户输入 Steam 发送到他们电子邮件的代码。我认为这比像以前那样向用户询问他们的购买历史页面要困难得多。

这是硒代码。它使用硬编码的 Xpath,因此您可能想要更改它。

0 投票
2 回答
3957 浏览

vbscript - 自动点击链接

我正在尝试单击页面上的链接,它没有任何 id 并且没有唯一的类名。该函数唯一的独特之处在于 onclick 处理程序

我需要通过 vbscript 自动化单击此链接,同样我尝试了以下代码:

但它不起作用,请帮助。

提前致谢 :)

0 投票
1 回答
3038 浏览

vb.net - 有时无法获取 .Document.Body.InnerHtml

下面的代码在第一次运行时有效,但在随后的运行中经常失败。它失败的行在下面注释。我认为循环通过 SHDocVw.ShellWindows 会产生问题,我需要在再次运行之前清理一些东西。要复制问题,请在 IE 中打开 google,然后运行此过程,重复。谢谢你的帮助。确切的错误是 Exception from HRESULT: 0x800A01B6 。(请注意,这是更复杂代码的简化版本,如果已设置,我实际上会多次重用 IE_test。)

0 投票
2 回答
10498 浏览

internet-explorer - 使用 vbscript 自动滚动页面

我需要使用 vbscript 拍摄页面的完整快照,为此我需要向下滚动一点。实际上,我可以在快照中截取一半页面,但我还需要在下一个快照中截取剩余部分。

加载页面后,我尝试使用以下内容

但它不是向下滚动页面,有没有更好的方法来做到这一点,其实我不想让页面向下滚动,而只是向下滚动 100 像素,有没有办法做到这一点?

提前致谢。