51Testing软件测试论坛

标题: selenium登录脚本失败求助 [打印本页]

作者: ssyybb2005    时间: 2017-9-8 14:37
标题: selenium登录脚本失败求助
selenium+python输入用户名和密码,在鼠标点击角色框应该给出用户的角色可以选择,脚本运行时点中角色框密码框中输入的密码被清空了,脚本如下:
    def test_22(self):
        driver = self.driver
        driver.get(self.base_url+"BS-CYTJ/")
        driver.find_element_by_id("ext-comp-1001").clear()
        driver.find_element_by_id("ext-comp-1001").send_keys("XXXXXXX")
        driver.find_element_by_id("ext-comp-1003").send_keys("XXX")
        driver.find_element_by_id("ext-comp-1002").click()
        time.sleep(10)

这个下面的错误是脚本录制以后转成python时出现的:
        # ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]

请大侠赐教
下面是页面查找到的:
密码框:
<td height="35" align="left">
<td height="32" align="left">
<div id="pwdtext" style="width:155px;height:22px">
<div id="pwd" class=" x-form-field-wrap" style="width:155px;">
<input id="ext-comp-1004" class=" x-form-text x-form-field" type="password" name="ext-comp-1004" autocomplete="off" size="20" style="width: 147px;">
</div>
</div>
</td>
角色框:
<td height="32" align="left">
<div id="select-role" style="width:155px;height:22px">
<div id="ext-gen7" class="x-form-field-wrap x-form-field-trigger-wrap" style="width: 155px;">
<input id="ext-comp-1003" class="x-form-text x-form-field x-trigger-noedit" type="text" name="ext-comp-1003" autocomplete="off" size="24" style="width: 130px;" readonly="" title="">
<img id="ext-gen8" class="x-form-trigger x-form-arrow-trigger" alt="" src="resources/sencha/ext3/images/default/s.gif">
</div>
</div>
</td>

作者: Real_小T    时间: 2017-9-10 23:37
哪一行出错
作者: ssyybb2005    时间: 2017-9-11 12:36
用户名:ext-comp-1001,密码:ext-comp-1003,角色:ext-comp-1002,业务是:输入用户名、密码,回车或者点击其它输入框,角色框自动添加判断用户名和密码,正确就得到用户的角色列表,再点角色框选择角色、登录。问题:使用python+selenium打开的火狐浏览器可以输入用户名和密码,但是点击到其它输入框,密码框中的密码被清空,角色框也没有出现角色列表
脚本运行到输入用户名和密码以后,停止,我手动点输入框,也会出现这个现象,这个有什么办法解决吗?

作者: ssyybb2005    时间: 2017-9-11 12:43
Real_小T 发表于 2017-9-10 23:37
哪一行出错

脚本没有错误提示,运行时,业务流程是这样的,输入用户名、密码,点角色框,角色列表可以得到用户对应的角色,脚本打开的浏览器在点角色框时,密码框就被清空了没有得到角色列表,脚本打开浏览器输入用户名和密码,后我去点击角色,也是被清空掉的,没有角色列表,所以验证不过去,这个有碰到过吗?
作者: Real_小T    时间: 2017-9-11 19:25
ssyybb2005 发表于 2017-9-11 12:43
脚本没有错误提示,运行时,业务流程是这样的,输入用户名、密码,点角色框,角色列表可以得到用户对应的 ...

这个真没碰到过 你用的什么浏览器 换个浏览器试试
作者: dai~zi    时间: 2017-9-30 15:45
问题是否已解决? 什么原因
作者: ssyybb2005    时间: 2017-10-10 08:47
dai~zi 发表于 2017-9-30 15:45
问题是否已解决? 什么原因

问题没有解决,此环境测试部分网站登录可以通过,通过抓包工具已经确定,在返回角色时,服务器返回404代码,大神愿意指教吗
作者: youreyebows    时间: 2017-10-12 10:05
1、你手动输入用户名和密码,点角色,密码输入框会被清空吗? 如果是,那应当就是开发写的代码有问题
2、如果不是,那么你试试点击下三角
3、在线上吗,相信我的话,我可以帮你试试,哈哈
作者: ssyybb2005    时间: 2017-10-13 17:13
youreyebows 发表于 2017-10-12 10:05
1、你手动输入用户名和密码,点角色,密码输入框会被清空吗? 如果是,那应当就是开发写的代码有问题
2、 ...

谢谢,已经解决了,应该是定位的问题,换了定位方法,已经可以登录,原先的想法错误,也正好更加深入的了解了selenium非常感谢帮助




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2