一、os12345678__file__获取当前运行的.py文件所在的路径(D:\PycharmProjects\My_WEB_UI\ConfigFiles\ConfigPath.py)os.path.dirname(__file__)上面正在运行的.py文件的上一级D:\PycharmProjects\My_WEB_UI\ConfigFilesos.path.join(xxx,uConfigFiles\elementLocation.ini)在已获得的路径xxx上加上\ConfigFiles\elementLocation.ini二、configparser1234567891011configconfigparser.ConfigParser()创建一个configparser对象config.read(filename)读取ini文件filename为ini文件的路径config.sections()得到ini文件内的所有的section以列表的形式返回config.items(sectionName)根据section的name得到其下的所有键值对再用dict(config.items(sectionName))封装为字典形式三、openpyxl1234567891011121314151617wbload_workbook(a.xlsx)读取文件a.xlsxsheetwb[sheetname]根据名字拿到xlsx文件里对应的页sheet.max_row获取当前页的最大行数sheet.max_column获取当前页的最大列数sheet.cell(rowxxx,columnxxx).value获取单元格(xxx,xxx)中的值sheet.cell(rowxxx,columnxxx).valueaa#修改单元格里的值wb.save(a.xlsx的路径名)#修改完要保存一下否则修改不生效openpyxl库中没有方法来获取去某一行的值可以自定义:1234row_data[]foriinrange(1,sheet.max_column1):#注意遍历列的时候从1开始cell_valuesheet.cell(rowxxx,columni).value#xxx就为具体想要获取的行row_data.append(cell_value)四、loguru123456logger.debug(this is a debug message)logger.info(this is a info message)logger.warning(this is a warning message)logger.error(this is a error message)logger.success(this is a success message)logger.critical(this is a critical message)12345678logger.add(xxx.log)在当前同级目录下创建一个xxx.log文件并将接下来的日志打印到xxx.log里面logger.add(lowPath/xxx.log)在当前目录下创建一个文件夹lowPath在其中创建xxx.log文件logger.add(otherPath/xxx.log)事先获取其他的目录otherPath在otherPath下创建xxx.log五、time12345time.sleep(2)强制休眠两秒time.strftime(%Y-%m-%d_%H-%M-%S)接受当前时间元组并最终返回对应格式的字符串六、unittest基本概念testcase 测试用例以test开头执行顺序会按照方法名的ASCII码值来排序test suite 测试套件testloader把需要一起执行的测试用例加载到套件中然后一起执行test runner 执行测试用例并返回测试结果test fixture 测试固件,对一个测试用例环境的搭建和销毁常见断言assertEqual(a,b,msgNone) 判断a和b是否相等 assertNotEqual assertTrue(a)判断a是否为True assertFalse assertIs(a,b)判断a is b assertIsNot assertIsNone(a)判断a is None assertIsNotNone assertIn(a,b)判断a in b assertNotIn assertIsInstance(a,b)判断a是不是b的实例 assertIsNotInstance 断言失败会报AssertionError的错编写测试用例123456789101112131415161718192021222324252627282930313233343536373839404142434445464748classTestDemo(unittest.TestCase):继承unittest模块里的TestCasedefsetUp(self)准备环境执行测试用例的前置条件deftearDown(self)环境还原执行测试用例的后置条件deftest_01(self)测试用例1if__name____main__:unittest.main()执行当前文件以test开头的测试用例########################################以下是实例##############################################importtimeimportunittestfromseleniumimportwebdriverfromModules.LoginActionimportLoginActionclassLogin_test(unittest.TestCase):defsetUp(self):准备好环境执行测试用例的前置条件:return:self.driverwebdriver.Chrome()self.driver.get(https://mail.163.com/)self.driver.maximize_window()deftearDown(self):time.sleep(2)self.driver.quit()deftest_01(self):loginActionLoginAction()loginAction.do_login(self.driver,lsqtester001,qwer123)time.sleep(2)self.assertIn(lsqtester002,self.driver.page_source)if__name____main__:unittest.main()组织测试用例1234567891011121314151617181920212223242526272829303132333435363738394041424344454647suitunittest.TestSuite()定义一个测试套件suit.addTest(Login_test(test_01))向套件中添加测试用例runnerunittest.TextTestRunner()runner.run(suit)定义testrunner并执行已加入测试套件的测试用例loaderunittest.TestLoader()定义一个testloader对象suit.addTest(loader.discover(TestcasesPath,patternUnittest*.py))根据条件将测试用例加载到套件中########################################以下是实例##############################################importunittestfromConfigFiles.ConfigPathimportTestcasesPathfromTestCases.Unittest_loginimportLogin_testif__name____main__:# suit unittest.TestSuite()# #向套件中添加测试用例# suit.addTest(Login_test(test_01))# suit.addTest(Login_test(test_02))## runner unittest.TextTestRunner()# runner.run(suit)用discover来组织测试用例discover(dir,patternUnittest*.py,top_level_dirNone)dir就是存放写用例的python文件的具体路径pattern就是在目录dir下找形式如同Unittest*.py这样的文件如果符合条件的.py文件里有load_test这个函数的话就会加载该文件里的测试用例如果不存在load_test函数的话就会默认加载文件里以test开头的测试用例函数suitunittest.TestSuite()loaderunittest.TestLoader()suit.addTest(loader.discover(TestcasesPath,patternUnittest*.py))runnerunittest.TextTestRunner()runner.run(suit)到此这篇关于Python基础之常用库常用方法整理的文章就介绍到这了