我是硒网络驱动程序的新手,目前使用Python来编写脚本。现在我想应用参数,我使用Excel应用了数据驱动方法。基本上只有第一个循环ok,它可以读取和写入第一行的数据,但之后不能。
首先,我在Python文件中创建它(作为新模块):
import openpyxl
def getRowCount(file, sheetName):
workbook = openpyxl.load_workbook(file)
sheet = workbook.get_sheet_by_name(sheetName)
return(sheet.max_row)
def getColumnCount(file, sheetName):
workbook = openpyxl.load_workbook(file)
sheet = workbook.get_sheet_by_name(sheetName)
return(sheet.max_column)
def readData(file, sheetName, rownum,columno):
workbook = openpyxl.load_workbook(file)
sheet = workbook.get_sheet_by_name(sheetName)
return sheet.cell(row=rownum, column=columno).value
def writeData(file,sheetName,rownum,columno,data):
workbook = openpyxl.load_workbook(file)
sheet = workbook.get_sheet_by_name(sheetName)
sheet.cell(row=rownum, column=columno).value = data
workbook.save(file)
接下来,我编写以下代码以在登录和注销过程中包含数据驱动测试:
path="<<my excel path>>"
rows=XLUtils.getRowCount(path, 'Sheet1')
for r in range(2,rows+1):
email=XLUtils.readData(path,"Sheet1",r,1)
password=XLUtils.readData(path,"Sheet1",r,2)
driver.implicitly_wait(100)
time.sleep(3)
driver.find_element_by_xpath('<<my email field xpath element>>').send_keys(email)
driver.implicitly_wait(100)
time.sleep(3)
driver.find_element_by_xpath('<<my password field xpath element>>').send_keys(password)
driver.implicitly_wait(100)
time.sleep(3)
driver.find_element_by_xpath('<<my click login xpath element').click()
driver.implicitly_wait(100)
time.sleep(3)
if driver.title=="<<to verify page title>>":
print("test passed")
XLUtils.writeData(path,"Sheet1",r,3,"test passed")
else:
print("test failed")
XLUtils.writeData(path, "Sheet1", r, 3, "test failed")
# Logout
driver.find_element_by_css_selector("<<my logout element>>").click()
time.sleep(2)
driver.find_element_by_css_selector("<<my logout element>>").click()
time.sleep(3)
我得到了错误属性错误:“NoneType”对象没有属性“send_keys”,所以我认为包括等待/睡眠可以解决这个问题,但我仍然没有找到解决它的方法。有人能帮忙吗?非常感谢。谢谢。
问题是函数返回类型。看到您的代码结构,我可以假设您正在一些设置类中创建您的WebDriver驱动程序
并将其传递给周围。
现在,您需要了解何时不向python中的函数添加返回类型,默认情况下它返回 None
。因此,在安装方法中,self.driver 设置为“无”
。
请将返回驱动程序
语句添加到您的设置方法中,它应该可以工作。
我遇到了这个错误,它不允许我在表单中保存信息。初始数据在表单中显示良好,但保存起来很困难。希望有人能帮忙,我真的被困了 追踪: 内部 41 中的文件“C:\程序文件\Python35\lib\site-packages\django\core\处理程序\exception.py”。响应 = get_response(请求) 文件"C:\Program Files\Python35\lib\site
问题内容: 喂, 我的xpath在firePath中进行了验证,但是当我尝试发送_key时出现错误。 AttributeError:“列表”对象没有属性“ send_keys” 有人可以折腾我吗? 问题答案: 您将获得一个webElement 列表 ,该 列表当然不是单个元素,也没有方法。使用代替。请参阅此 api文档。
如果pk_col值为空,则应打印未定义的主键。但我得到了这个错误。“NoneType”对象没有属性“rdd”。
问题内容: 下面的代码给出了错误: 码: 问题答案: 从代码中,我可以看到你希望允许用户下载pdf。 现在开始 去 http://localhost:5000
问题内容: 我的程序看起来像 当我运行它时,它会抛出我 不知道为什么会这样?当我已经在每个列表的开头创建列表时 问题答案: 实际上,您存储在此处: 更改列表并返回 例:
问题内容: 我遇到了这个问题,我不明白为什么。 我从我的应用程序中获取了代码,并制作了此测试代码,因此您不必费劲地查看我的要求。 我有这个工作在其他代码。但是,在将两者进行比较之后,我无法为自己的一生解决这个问题。 在此应用程序中,出现错误“ AttributeError:’NoneType’对象没有属性’delete’”。 问题答案: 在这一行: grid不返回任何内容,因此entryBox是,