zoukankan      html  css  js  c++  java
  • Python继承Selenium2Library

      最近在搞Robot Framework,吐槽一下别人写的框架真是难用。
      Robot Framework主要用的库是Selenium2Library(以下简称S2L)进行驱动,但是调试不是很方便,所以我考虑如果可以在自己的框架中
    调用其关键字方法就挺好,继承是一个不错的思路。
      Python的继承并不会直接继承基类的__init__方法,所以如果子类需要直接调用基类的类变量,需要继承其__init__方法,有两种办法,在子类__init__方法
    中直接实例化一个基类对象或者直接调用基类__init__方法即可。
      附上Python中调用S2L库的测试代码,该类是可以直接导入到RF中作为外部库使用的。

      

     1 #coding:utf-8
     2 '''
     3 @version: 23.3.2016
     4 @author: yndots
     5 '''
     6 from Selenium2Library import Selenium2Library
     7 from Selenium2Library.keywords import *
     8 import time
     9 from time import sleep
    10 
    11 class _Basic(Selenium2Library):
    12     
    13     def __init__(self):
    14 #         self.s2l=Selenium2Library()
    15         Selenium2Library.__init__(self)
    16     def my_open_browser(self):
    17         #自己的打开浏览器方法
    18         try:
    19             driver = self._current_browser()
    20         except RuntimeError, e:
    21             self.open_browser("http://www.sz1card1.com", "chrome")
    22             driver = self._current_browser()
    23         return driver
    24     def test_login(self):
    25 #         s2l=Selenium2Library()
    26         driver=self.my_open_browser()
    27         driver.implicitly_wait(8)
    28 #         driver=self._current_browser()
    29 #         _BrowserManagementKeywords().set_browser_implicit_wait(8)
    30 #         driver.click_element('//*[@id="txtBusinessAccount"]')
    31         time.sleep(1)      
    32         driver.find_element_by_xpath('//*[@id="txtBusinessAccount"]').send_keys("liaoyu")
    33         driver.find_element_by_xpath('//*[@id="txtUserAccount"]').send_keys("10000")
    34         driver.find_element_by_xpath('//*[@id="txtUserPassword"]').send_keys("ly123456")
    35         driver.find_element_by_xpath('//*[@id="btnlogin"]').click()
    36         self.click_element("//div[text()='消费收银']")
    37         
    38 if __name__ == '__main__':
    39     _Basic().test_login()
    我不断的寻找
  • 相关阅读:
    在cmd命令行中弹出Windows对话框
    Windows远程桌面连接如何直接使用剪贴板功能
    升级Windows10后Apache服务器启动失败的解决方法
    Windows下尝试PHP7提示丢失VCRUNTIME140.DLL的问题解决
    手动构建Servlet项目的流程
    更改Apache默认网站根目录
    windows下安装Appserv等php套件之后无法进入数据库管理的问题
    Java web项目的字符集问题
    五谷-小米:白小米
    五谷-小米:黑小米
  • 原文地址:https://www.cnblogs.com/yNds/p/5312149.html
Copyright © 2011-2022 走看看