总结:确定可以定位到元素,但是对元素操作失败的时候,可以尝试直接用 JS 修改元素属性。
换成 JS 就好了,多谢大佬鸭
好了,换成 JS 就行了,好神奇呀。多谢多谢
定位的语句换了也不行。这个地方没有滚动条,等等我试试加一个鼠标滑动看看行不行。
后面还有几个大佬建议试试 JS,都试试吧。感觉用 JS 应该是可以的。
还是这样,跟之前报的错是一样的:
loc is ('xpath', "//tr[@id='tr_1']/td[2]/input[@name='name_1']"), loc type is <class 'tuple'>
Traceback (most recent call last):
......
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <input id="row1_name" class="input_name" name="name_1" value="" type="text"> is not clickable at point (880, 194). Other element would receive the click: <td>...</td>
我改下试试,应该不是这个问题,我的 Xpath 在浏览器里试过的,可以定位到需要的元素。
加 -c 鸭, -c 是跳过断言失败的错误
试试 hrp run 路径 -g -c
-g 是生成报告
-c 是跳过错误
在命令行执行 hrp run -h 有详细的参数介绍。
另:HttpRunner 有官方群了,有飞书群跟微信群,可以加一下里面有很多大佬。
好的,辛苦辣!
其实 get 请求还好,我在 python 函数里把数字转成字符串就能用了。但是 post 这种带数据类型的请求就不行。
你好,我用的hrp version v4.0.0
版本。
我们有一个接口,参数是用户的 uid,psw,还有一个随机数,我用${get_random()}
调用 debugtalk.py 里写的方法。具体的测试用例如下:
-
name: ******
request:
method: GET
url: ******
params:
dispatcher: $dispatcher
password: $password
rand: ${get_random()}
validate:
- eq: ["status_code", 200]
- eq: ["body.error", 0]
extract:
totle_user_info: "body.msg"
get_random
方法如下:
def get_random(f=10000000, t=99999999) -> int:
return int(randint(f, t))
这是 hrp 运行之后测试报告日志里的截图: