unittest底层逻辑代码(三) -凯发app官网

玩技e族 auto测试评论182字数 1498阅读4分59秒阅读模式

业务逻辑层面的相关操作例如:创建浏览器对象、访问url、元素定位、输入、悬停、切换句柄、点击等待操作等等。此代码程序不会执行浏览器任何操作行为。(从selenium里面取需要操作的相关方法)文章源自玩技e族-https://www.playezu.com/26225.html

关键字类:(简单书写)文章源自玩技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
注意:本文法律责任由该作者承担,侵权请联系▷诈骗举报◁▷新闻不符◁▷我要投稿◁
免责声明:本文内容来自用户上传并发布或网络新闻客户端自媒体,玩技博客仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系删除。

发表评论

匿名网友
确定