做了大半个月的测试,总结下selenium使用注意实现

xiaoxiao2021-02-28  69

1.尽量不用send_key,使用js给input赋值。send_key有时不起作用。 2.execute_script 获取值的脚本写法'var ret=$("div.datagrid-body > table > tbody > tr > td:nth-child(2) > div").text();return ret;' 3.每个case不退出浏览器,代码写法: @classmethod def setUpClass(cls): cls.driver = webdriver.Chrome() cls.driver.implicitly_wait(30) cls.driver.maximize_window() cls.base_url = "http://10.10.12.18" @classmethod def tearDownClass(cls): cls.driver.close() cls.driver.quit() 4.程序执行中,汇报错误: self.assertFalse(ret1 or ret2),这样htmlreport输出的结果为failed,一开始学习是我就使用raise 5.日志配置方法,既可以把日志打印到htmlreport上,又可以单独输出到日志文件: def init_log(report_dir): logger = logging.getLogger('mylogger') logger.setLevel(logging.INFO) fh = logging.FileHandler('%s\\test.log' % report_dir) fh.setLevel(logging.INFO) ch = logging.StreamHandler(stream=HTMLTestRunner.stdout_redirector) ch.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) logger.addHandler(fh) logger.addHandler(ch) return logger 6.selenium 加载js文件 def load_jquery(self): with open('jquery-1.11.3.js', 'r') as jquery_js: # read the jquery from a file jquery = jquery_js.read() self.driver.execute_script(jquery) # active the jquery lib 7.有时候由于页面各种层,导致click无法识别,可以js代替 8.运行所有test时,注意类的继承 文件base.py: class Base(unittest.TestCase): def test_xxx(self) print "test" 文件test_service.py: from base import Base class Service(Base) pass 在discover时会发现Base的test_xxx def create_suite(): test_unit = unittest.TestSuite() # discover 方法定义 discover = unittest.defaultTestLoader.discover( test_lists, pattern='test*.py', top_level_dir=None) # discover方法筛选出用例,循环添加到测试套件中 for test_suite in discover: for test_case in test_suite: test_unit.addTests(test_case) return test_unit 正确的做法时 import base class Service(base.Base)
转载请注明原文地址: https://www.6miu.com/read-35314.html

最新回复(0)