Unittest底层逻辑代码(三)

玩技站长 Auto测试评论410字数 432阅读1分26秒阅读模式

业务逻辑层面的相关操作例如:创建浏览器对象、访问url、元素定位、输入、悬停、切换句柄、点击等待操作等等。此代码程序不会执行浏览器任何操作行为。(从selenium里面取需要操作的相关方法)

关键字类:(简单书写)文章源自玩技e族-https://www.playezu.com/26225.html

class keyDemo:

   driver = webdriver.Chrome()
  #打开浏览器
   def open(self,url)

       self.driver.get(url)
  #定位元素
   def locator(self,name,value):

       return self.driver.find_element(name,value)
  #输入值
   def input(self,name,value,txt)
       
       self.locator(name,value).send_keys(txt)
  #点击操作
   def click(self,name,value):

       self.locator(name,value).click()
   #退出操作
   def quite(self):

       self.driver.quite()
        
   ......

构造函数初始化driver(可以根据输入浏览器类型执行测试)文章源自玩技e族-https://www.playezu.com/26225.html

from selenium import webdriver


# 基于type生成对应的浏览器对象
def browser(type_):
    try:
        driver = getattr(webdriver, type_)()
    except Exception as e:
        print(e)
        driver = webdriver.Chrome()
    return driver


class keyDemo:

    # driver = webdriver.Chrome()
    # 打开浏览器

    def __init__(self, type_):
        self.driver = browser(type_)

    def open(self, url):
        self.driver.get(url)

    # 定位元素
    def locator(self, name, value):
        return self.driver.find_element(name, value)

    # 输入值
    def input(self, name, value, txt):
        self.locator(name, value).send_keys(txt)

    # 点击操作
    def click(self, name, value):
        self.locator(name, value).click()

    # 强制等待
    def sleep(self, time_):
        self.sleep(time_)

    # 退出操作
    def quite(self):
        self.driver.quit()

使用关键字类编写测试用例(未优化)文章源自玩技e族-https://www.playezu.com/26225.html

from base.login_base import keyDemo

kd = keyDemo('Chrome')
kd.open('https://www.baidu.com')
kd.input('id', 'kw', '玩技e族')
kd.click('id', 'su')
kd.quite()

使用关键字类编写测试用例(使用Unittest方式):代码冗余度过高还可以再精简。文章源自玩技e族-https://www.playezu.com/26225.html

from base.login_base import keyDemo
import unittest


class CassDemo(unittest.TestCase):

    def test_01(self):
        kd = keyDemo('Chrome')
        kd.open('https://www.baidu.com')
        kd.input('id', 'kw', '玩技e族')
        kd.click('id', 'su')
        kd.quite()


if __name__ == '__main__':
    unittest.main()
文章源自玩技e族-https://www.playezu.com/26225.html文章源自玩技e族-https://www.playezu.com/26225.html
 最后更新:2021-5-19
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证