Selenium_Python_Note–xlrd 数据驱动测试,excel 中的数字操作

记录一个最近解决的很low的问题。
Q:问题来源:之前写的selenium 的数据驱动测试用例, 登录界面。实例
但是在运行测试用例的时候,因为用例中的密码是数字,所以怎么都执行不起来,中间有事情就放下了一段时间。
T:Testdata: admin/1234
A:今天回头一点点排查错误吧。
1.会不会是测试数据出的问题?首先直接输入密码“1234”, 其他数据仍然是读取excel中数据,testpass;
关键代码如下:
i=1
while (i<3): rownum=(i) rows = sh1.row_values(rownum) driver.find_element_by_name("username").clear() driver.find_element_by_name("username").send_keys(rows[0]) driver.find_element_by_name("password").clear() driver.find_element_by_name("password").send_keys("1234") driver.find_element_by_xpath("//button[@type='submit']").click()

2.那是变量rows[1]有问题?重新跑一次,testfailed, 提示信息用户名或者密码错误;
3.从2可知,OK,那肯定是密码没有读取到正确的;
4.从3可以猜测很可能是数字类型导致的,换个账户jadmin1/Test1234, 测试pass;
driver.find_element_by_name("username").send_keys(rows[0])
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys(rows[1])
5.好,基本现在可以判断就是纯数字的密码导致错误了,来看看究竟程序读到的是什么吧,username是明文显示的,改代码;
driver.find_element_by_name("username").send_keys(rows[1])
6.运行5可以看到读到的密码是“1234.0”,罪魁祸首找
7.去excel 文件把密码改成文本形式存储的1234, 运行测试脚本,testpass!

说句感想吧,感觉自己很很low. TAT...
好吧,不过多少还是学了点东西了, 革命尚未成功,偶要接着努力呀!

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.