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

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值