import HTMLTestRunner import io import time import unittest from grapheme.grapheme_property_group import value from selenium import webdriver from selenium.webdriver.common.by import By # 首先使用configparser库读取配置文件config.ini中的路径data_dir import configparser
时间: 2023-10-27 22:07:14 浏览: 38
这是一段 Python 代码,使用了多个库和模块,包括 HTMLTestRunner、io、time、unittest、selenium 和 configparser。其中,HTMLTestRunner 是一个测试报告生成工具,io 库用于进行输入输出操作,time 库用于时间相关操作,unittest 库用于编写单元测试,selenium 库用于自动化测试,configparser 库用于读取配置文件。这段代码还导入了 grapheme.grapheme_property_group.value 和 selenium.webdriver.common.by 中的 By 类。
相关问题
import unittest from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time class forTest(unittest.TestCase): # 测试用例初始化 # 打开谷歌浏览器,并进入百度 def setUp(self) -> None: self.driver = webdriver.Chrome() self.driver.get('http://www.baidu.com') # 测试用例释放 # 等待 3s,关闭浏览器 def tearDown(self) -> None: time.sleep(3) self.driver.quit() # 输入‘高考',并点击搜索 def test_1(self): pass self.driver.find_element(By.ID, 'kw').send_keys('高考') self.driver.find_element_by_id('su').click() # 输入‘百度翻译',并点击搜索 def test_2(self): pass self.driver.find_element(By.ID, 'kw').send_keys('百度翻译') self.driver.find_element_by_id('su').click() if __name__ == '__main__': unittest.main()
根据您提供的代码,可能是由于在 `test_1` 和 `test_2` 方法中,`pass` 语句放置在了 `self.driver.find_element` 方法之前,导致这两个方法没有实际执行任何操作。因此,您需要将 `pass` 语句放置在 `def` 语句之前,或者直接删除 `pass` 语句。
修改后的代码如下:
```
import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
class forTest(unittest.TestCase):
# 测试用例初始化
# 打开谷歌浏览器,并进入百度
def setUp(self) -> None:
self.driver = webdriver.Chrome()
self.driver.get('http://www.baidu.com')
# 测试用例释放
# 等待 3s,关闭浏览器
def tearDown(self) -> None:
time.sleep(3)
self.driver.quit()
# 输入‘高考',并点击搜索
def test_1(self):
self.driver.find_element(By.ID, 'kw').send_keys('高考')
self.driver.find_element_by_id('su').click()
# 输入‘百度翻译',并点击搜索
def test_2(self):
self.driver.find_element(By.ID, 'kw').send_keys('百度翻译')
self.driver.find_element_by_id('su').click()
if __name__ == '__main__':
unittest.main()
```
这样修改后,您可以运行这个测试用例,分别进行两个测试方法,分别搜索高考和百度翻译。
import unittest from time import sleep from ddt import ddt, data, unpack from selenium import webdriver import openpyxl from selenium.webdriver.common.by import By def read_excel(): xlsx = openpyxl.load_workbook("D:\python\project\case\xl.xlsx") #打开路径内的xl
这段代码主要是用于读取 Excel 文件中的数据。其中,我们使用 `openpyxl` 库来处理 Excel 文件,具体的读取方法如下:
```
import openpyxl
def read_excel():
xlsx = openpyxl.load_workbook("D:\python\project\case\xl.xlsx") #打开路径内的xl.xlsx文件
sheet = xlsx.active #获取活动工作表,即当前工作表
rows = sheet.rows #获取行数
data = []
for row in rows:
row_data = []
for cell in row:
row_data.append(cell.value)
data.append(row_data)
return data[1:] #去掉表头,返回数据
```
这个方法首先使用 `openpyxl.load_workbook` 方法打开 Excel 文件,然后使用 `xlsx.active` 获取活动工作表,使用 `sheet.rows` 获取行数,并且遍历每一行的单元格,将单元格的值添加到 `row_data` 列表中,最后将 `row_data` 添加到 `data` 列表中。最后返回 `data` 列表,去掉表头。
这里使用了 `data[1:]` 去掉了表头,因为在 `@data` 装饰器中已经指定了表头,如果不去掉表头会导致数据重复。