51Testing软件测试论坛

标题: selenium读取excel数据为浮点,如何处理? [打印本页]

作者: 黑盒测试    时间: 2017-1-25 10:33
标题: selenium读取excel数据为浮点,如何处理?
selenium读取excel数据为浮点,如何处理?

1、文档第一列为用户名,可能是字符串/数字,第二列为密码,可能是字符串/数字
2、我想直接读出第一列用户名作为列表,读出第二列密码作为列表
3、整理列表为字典
4、for循环遍历字典用户名和密码为元祖,并代入登录代码中
如何便捷的转换浮点为int类型,但是其中还有字符串?




作者: 若尘_51    时间: 2017-1-25 14:00
如何便捷的转换浮点为int类型,但是其中还有字符串?

加个判断条件,将浮点型的数据转换成int,字符串的保持不动:
float_num = 0.1
if type(username) == type(float_num):
    username = int(username)
else:
    pass



作者: 黑盒测试    时间: 2017-1-25 14:16
若尘_51 发表于 2017-1-25 14:00
如何便捷的转换浮点为int类型,但是其中还有字符串?

加个判断条件,将浮点型的数据转换成int,字符串的 ...

谢谢
作者: 黑盒测试    时间: 2017-1-25 14:16
若尘_51 发表于 2017-1-25 14:00
如何便捷的转换浮点为int类型,但是其中还有字符串?

加个判断条件,将浮点型的数据转换成int,字符串的 ...

for username,password in user.items():
        if type(username)!=str:
                username=int(username)
        if type(password)!=str:
                password=int(password)
我这样写了  哈哈哈  2个if是否可以合成1个呢
作者: 若尘_51    时间: 2017-1-25 15:03
很不错啊。已经最简了吧
还有一种方法也可以:
try:
    username=int(username)
    password= int(password)
except:
    try:
        password=int(password)
    except:
        pass
作者: 黑盒测试    时间: 2017-1-25 16:51
若尘_51 发表于 2017-1-25 15:03
很不错啊。已经最简了吧
还有一种方法也可以:
try:

谢谢了
作者: 黑盒测试    时间: 2017-1-25 16:54
若尘_51 发表于 2017-1-25 15:03
很不错啊。已经最简了吧
还有一种方法也可以:
try:

我想把测试报告写入excel中,一行或一列
时间 用户名 密码 登录成功/失败
目前不知如何写,也不知放入那个位置好点



#!/usr/bin/env python
#_*_coding:utf-8_*_
from selenium import webdriver
import time,xlrd,xlwt
from selenium.webdriver.common.action_chains import ActionChains
def OpenUrl():#启动访问域名
    driver=webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://aibbtest.huoxiu.tv')
    return driver
def UserData():#导入excel数据
    book=xlrd.open_workbook('E:\\test.xlsx')
    sheet=book.sheet_by_index(0)
    col_username=sheet.col_values(0)
    col_password=sheet.col_values(1)
    login_data=dict(zip(col_username,col_password))
    return login_data
def login(dribver,username,password):
    driver.find_element_by_link_text('登录').click()
    driver.switch_to_frame(driver.find_element_by_xpath('//iframe[@id="layui-layer-iframe1"]'))
    time.sleep(2)
    driver.find_element_by_xpath('//input[@placeholder="手机号/账号/邮箱"]').send_keys(username)
    driver.find_element_by_xpath('//input[@placeholder="请输入密码"]').send_keys(password)
    driver.find_element_by_xpath('//input[@value="登录"]').click()
    driver.switch_to_default_content()
    time.sleep(2)
    center=driver.find_element_by_xpath('//div[@class="user-info hasLogin"]/div[1]/span')
    time.sleep(2)
    ActionChains(driver).move_to_element(center).perform()
    #book =xlwt.Workbook(encoding='utf-8')
    sheet = book.add_sheet('test_sheet',cell_overwrite_ok=True)
    #i=0
    try:
        driver.find_element_by_xpath('//a[@class="loginOut"]').click()
        print('登录成功')
        #sheet.write(0,i+1,'登录成功')
    except:
        print('未登录成功')
        #sheet.write(0,i+1,'登录失败')
    time.sleep(2)
    try:
        driver.find_element_by_link_text('登录').click()
        print('退出账号成功')
    except:
        print('退出账号失败')
    #book.save("E:\\test1.xls")
    time.sleep(2)
    driver.close()
user=UserData()
for username,password in user.items():
    if type(username)!=str:
        username=int(username)
    if type(password)!=str:
        password=int(password)
    driver=OpenUrl()
    login(driver,username,password)



作者: 若尘_51    时间: 2017-1-26 11:00
黑盒测试 发表于 2017-1-25 16:54
我想把测试报告写入excel中,一行或一列
时间 用户名 密码 登录成功/失败
目前不知如何写,也不知放入 ...

现在你写的不可以吗?    报什么错




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