zoukankan      html  css  js  c++  java
  • Webdriver(Selenium)之最佳实践

    一、测试用例的组成

    3A法则:

      Arrangement——数据准备

      Action——步骤

      Assert——断言

     

    二、表单元素定位最佳实践

    name优先

    id其次

    css selector

    class + index

    xpath或其他

     

    三、富文本赋值

    应用js方法:

      首先访问iframe

      再访问iframe中的contentWindow

      再访问body

      使用innerText属性进行赋值(innterHtml)

     

    1 def set_content(self, content):
    2         js = "document.getElementById('content_ifr').contentWindow.document.body.innerHTML = '%s'" %(content)
    3         self.dr.execute_script(js)

     

    四、封装方法——更容易阅读

     1 # -*- coding=utf-8 -*-
     2 from selenium import webdriver
     3 import unittest
     4 
     5 class Test(unittest.TestCase):
     6     def setUp(self):
     7         dr = webdriver.Chrome()
     8         dr.get("http://www.baidu.com")
     9 
    10 
    11     def by_id(self, the_id):
    12         return self.dr.find_element_by_id(the_id)
    13 
    14     def by_css(self, css):
    15         return self.dr.find_element_by_css_selector(css)
    16 
    17     def by_name(self, name):
    18         return self.dr.find_element_by_name(name)
    19     
    20     def by_js(self, js):
    21         return self.dr.execute_script(js)
    22 
    23     def tearDown(self): #每个用例执行之后
    24         self.dr.quit()

     

    五、js里的jquery事件

    js = "document.querySelectorAll('#submit')[0].click()"
    driver.execute_script(js)

    点击id=submit

  • 相关阅读:
    hdu 1399(水题)
    hdu 1252(BFS)
    sm3算法的简单介绍
    undefined reference to 问题汇总及解决方法 ----- 还有一种问题没有解决(可能是顺序问题)
    OpenSSL之X509系列
    RSA key lengths
    进程间通信(IPC)介绍
    判断主机、网络字节序和互相转换
    整理struct sockaddr和struct sockaddr_in
    valgrind 的使用简介
  • 原文地址:https://www.cnblogs.com/hlphlp/p/6855821.html
Copyright © 2011-2022 走看看