Selenium Robotframework:如何检索请求的答案
我想测试一个用户的激活。为了验证用户的创建,我单击“有效”按钮,前端请求后端发送POST请求。Selenium Robotframework:如何检索请求的答案,selenium,http-post,robotframework,Selenium,Http Post,Robotframework,我想测试一个用户的激活。为了验证用户的创建,我单击“有效”按钮,前端请求后端发送POST请求。 我的目标是检索此查询的答案 我试过这些关键词: *** Setting *** Library SeleniumLibrary Library HttpLibrary.HTTP *** Keyword *** !Confirm entry [Arguments] ${id_button} Wait Until Element Is Visible ${
我的目标是检索此查询的答案 我试过这些关键词:
*** Setting ***
Library SeleniumLibrary
Library HttpLibrary.HTTP
*** Keyword ***
!Confirm entry
[Arguments] ${id_button}
Wait Until Element Is Visible ${id_button}
Click Element ${id_button}
Response Status Code Should Equal 200
或
这两种解决方案都不能让我满意。请您想一想在Robotframework中使用哪些关键字来解决我的问题好吗?
单击元素
不会像您预期的那样返回状态代码。使用selenium无法获取状态代码
响应状态代码应该等于
是HTTP库,只有在HTTP库中的GET
,POST
关键字等HTTP请求之后,它才有效
Example
HTTP Context httpstat.us
GET /302
Response Status Code Should Equal 302
它不适用于selenium关键字 正如已经给出的答案所强调的,HttpLibrary和SeleniumLibrary的混合将不允许您访问UI和Web服务器之间http交换的状态代码
如果要确保来自浏览器的所有调用都具有http 200,则必须通过代理路由流量。在这个工作示例中,给出了BrowserMob代理的使用 重复其他人已经说过的话,selenium无法拦截浏览器的请求。
对于不同的替代方案,另一种选择是使用服务工作者——这将获得网络流量并在您的控件中调用js来存储(甚至修改)传输的数据
这方面的设置可能相当复杂(注入worker和js,然后从robotframework与之通信),这里有一个简单的方法可以开始使用。请添加设置部分?你在使用哪个图书馆?selenium还是http?我添加了请求的信息。@Navarasu“不给我满足感”是什么意思?他们会抛出错误吗?如果会,是什么错误?如果他们没有抛出错误,他们会做什么与您期望的不同?第一个解决方案返回错误“无可用请求,请使用例如GET to create one”。第二个返回错误“ElementNotInteractiableException:Message:元素无法滚动到视图中”@请允许你的问题包括这些信息。我注意到你的评论。你知道我的问题的另一个解决办法吗@纳瓦拉苏你想做什么?测试http请求还是selenium?如果您想验证http api,只需使用http库并执行post请求,就可以验证响应,如答案中所示。如果你想验证UI,直接用UI确认post请求检查成功消息,或者检查db是否添加了确认post操作成功的内容,我想我们可以同时处理这两个库。我想检索发送的POST命令的答案。因此,如果我理解正确,我必须连接到接收器并收听端口才能接收消息?消息的接收器是。你能帮我写出正确的语法吗@纳瓦拉苏
Example
HTTP Context httpstat.us
GET /302
Response Status Code Should Equal 302