问题标签 [selenium2library]

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 投票
1 回答
1627 浏览

selenium-webdriver - Robot Framework Selenium2Library - 如何停止浏览器页面挂在服务器响应上

我使用 Selenium2Library 进行的 Robot Framework 测试偶尔会在等待浏览器页面完全加载服务器响应时卡住,这会导致测试有时无限期挂起。在我遇到的大多数情况下,浏览器已经加载了 99% 的内容并且可以正常交互。但是,在浏览器加载完全停止之前,自动化不会继续进行。

当我看到自动化测试运行并遇到此浏览器挂起问题时,如果我手动按下浏览器“停止”按钮,浏览器将停止加载,自动化测试会正常恢复。我想在浏览器挂起但不让它在浏览器按预期加载时减慢测试的情况下自动停止浏览器。

我看到 Python 中有一个名为 Selenium Webdriver 命令的命令,set_page_load_timeout()如果我能弄清楚如何在 Robot Framework 中使用它,它可能就是我正在寻找的东西。

我一直在研究的另一个选项是执行 javascript 来强制停止浏览器加载,如下所示:

然而,对于像上面这样的命令,问题在于如何实现它并识别浏览器加载时间过长。我不想在每次加载新页面或单击链接时设置不必要的超时,因为这会导致测试的整体运行速度变慢。

Robot Framework 的 Selenium2Library 是否已经内置了类似的东西,您可以在其中设置服务器响应的实际页面加载时间,以便测试可以识别浏览器何时仍处于加载状态?我一直在查看Selenium2Library 文档,但没有发现任何与此直接相关的内容。

任何帮助将不胜感激,谢谢。

0 投票
1 回答
1503 浏览

android - 在android中打开chrome浏览器,使用robotframework

我尝试在我的android中打开chrome浏览器,使用robotframework和这个脚本

问题是当我尝试运行它时,出现错误

我尝试使用 Robot Framework 脚本和 chromedriver 在 Android 设备中打开 Chrome 浏览器中的实现?
但仍然失败。在我运行这个测试之前,我的 andorid 中是否有任何设置?必须创建一个测试服务器还是什么?感谢您的帮助

0 投票
3 回答
1023 浏览

python-2.7 - Robotframework Selenium2Library 标题覆盖在页面滚动期间要单击的元素上

我正在使用带有 python 基础和 Firefox 浏览器的 Robotframework selenium2Library 来自动化我们的 Web 应用程序。当点击事件即将发生时,会出现以下问题,

Web 应用程序中的标题在页面滚动期间是不可移动的(即,每当页面滚动发生时,标题始终可供用户查看,只有内容被滚动)现在的问题是,当即将被点击的元素在页面中不可用时查看,单击事件尝试滚动页面以将元素置于网页顶部,该元素正好位于标题下方(重叠),并且单击事件永远不会发生,低于异常。

WebDriverException:消息:元素在点(1362.63330078125、15.5)处不可点击。其他元素会收到点击: https://url/url/chat/chat.asp','popup','height=600, width=680, scrollbars=no, resizable=yes, directory=no, menubar=no , 状态=否, 工具栏=否'));">

我已经尝试过等待直到页面可见关键字,但这仍然没有帮助,因为下一个语句,单击事件(单击元素,单击链接等)再次向上滚动到标题。

始终可见的标题是我们的 Web 应用程序中的一项功能,由于此脚本失败,有人可以帮助解决这个问题并使点击事件成功执行吗?

0 投票
1 回答
357 浏览

python - 在内置库关键字“run_keyword_and_continue_on_failure”中使用 selenium2library 关键字的 ROBOT 框架问题

我在 python 中使用机器人框架来创建内部使用 selenium2library 关键字的关键字。

我在以下代码中看到了一个问题,该问题存在于我的 python 关键字定义模块中。

status = BuiltIn().run_keyword_and_continue_on_failure(sel.click_button('wlbasic_11n_value_01'))

这里,lbasic_11n_value_01 是要点击的元素的id。

即使此单击按钮失败,我也希望我的关键字能够执行,因此我使用 run_keyword_and_continue_on_failure 关键字。

有趣的是,点击了按钮,但随后我看到一条错误消息,指出关键字名称应该是一个字符串。

什么时候制作 sel.click_button('wlbasic_11n_value_01') -> 'sel.click_button('wlbasic_11n_value_01')'

python关键字代码->

该关键字根本没有被检测到,点击永远不会起作用。

我在这里缺少什么,我是机器人框架的新手。

任何调试帮助将不胜感激。

0 投票
1 回答
2009 浏览

automation - 使用 Selenium2Library 在 Robot 框架中自动化桌面应用程序

我想在 Robot 框架中使用 Selenium2Library 自动化桌面应用程序。有可能吗?如果是,请给我答案。

关于这个问题的任何建议都会有所帮助。提前致谢。

0 投票
1 回答
62 浏览

python - Robotfamework 中带有 SPAN 元素的 ID 名称

我对机器人框架有点陌生,并试图设置一个简单的测试场景,我想在页面中的某个地方验证一个数值(应该在 0-40 之间)。

在以下屏幕截图中,您可以看到我需要定位的值 (46)。我面临的问题是类inbasketTabInLine inbasketTabCount名也用于第二个选项卡上的另一个值。所以我假设我可以通过引用主 ID 来使其具体化dijit_layout_TabContainer_0_tablist_ecm_widget_listView_ContentList_0。由于此值是特定于此选项卡 (Werkvoorraad Supportteam) 的,因此应该没问题。

我的 firefox xpath finder 为我提供了以下 xpath:

但是,我无法将其转换为机器人框架(使用 pyhton)可以理解的路径名。我也在使用 Selenium2Library。

以下定位器适用于 Tab 标题(例如 Werkvoorrad Supportteam):

问:如何在上面指定 span[2] 元素?

html代码

0 投票
2 回答
1210 浏览

robotframework - 将文本附加到包含文本的现有字段

我正在尝试将文本添加到已经包含文本的字段中而不清除现有文本。本质上附加文本

“输入文本”关键字在每次迭代之前清除该字段,因此不是一个可行的解决方案

有谁知道这样做的方法?

0 投票
1 回答
933 浏览

selenium - 如何使用 selenium2+phantomjs webdriver 通过 SSO?

我正在使用 selenium2 (selenium-java:3.0.1) 和 phantomjs-2.1.1-linux-x86_64。我想要做的是进入需要 SSO 的页面。使用浏览器访问网站时,会弹出登录对话框输入用户名和密码。

使用 wget 获取 URL 时。它停在身份验证部分。

使用 selenium2 (selenium-java:3.0.1) 和 phantomjs-2.1.1-linux-x86_64 时,代码如下

输出是:

所以它的发生就像它只是打开一个 about:blank 页面,仅此而已。有没有办法在弹出对话框中输入用户名和密码,然后继续访问?

0 投票
1 回答
804 浏览

angularjs - Robot selenium2library how to set wait for elements globally

I would like to ask whether there is an option in robot (using selenium2library) to set some implicit wait for ALL elements which should be located during the test on just one place? Currently I place the wait before EACH element in my keywords (which does not look so nice)

The frontend is made in Angular. I found that it might be the cause of the troubles and I also found some extended selenium2library, BUT I cannot use this extended library, because I can use only officially supported library (which is now just selenium2library)...

I also tried to set the implcit wait and timeout while importing the Library, but it seems it does not help (if I comment my "waits" before each element, it starts failing again)

Any suggestion? Do I really have to put the wait before each element in this case?

Thank you

0 投票
1 回答
11918 浏览

robotframework - Robot Framework - Selenium2Library - 根据之前的文本将文本输入到字段中

由于每次刷新后都会随机生成每个 ID,因此我不得不使用其他标识符。我基本上希望机器人将文本输入到我指定的标识符旁边的字段中。

https://vgy.me/3YBIgl.png

我希望将文本输入到用户:字段并使用“用户:”作为要使用的定位器。它适用于 xpaths,但我宁愿使用另一种不会那么脆弱的方法。

这是用于生成表单的 HTML

我知道这将是类似的东西:

但老实说,我不知道。有什么地方我可以读到这个吗?

我对机器人框架非常陌生。对不起noobness。