Unittest底层逻辑代码(三)

玩技站长 Auto测试评论324字数 1498阅读模式

业务逻辑层面的相关操作例如:创建浏览器对象、访问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
玩技站长微信
添加好友自动发送入群邀请
weinxin
rainbow-shownow
玩技官方公众号
官方微信公众号
weinxin
PLAYEZU
 最后更新:2021-5-19
  • 版权提示:本站仅供存储任何法律责任由作者承担▷诈骗举报◁▷新闻不符◁▷我要投稿◁
    风险通知:非原创文章均为网络投稿真实性无法判断,侵权联系2523030730
    免责声明:内容来自用户上传发布或新闻客户端自媒体,切勿!切勿!切勿!添加联系方式以免受骗。
  • 原创转载:https://www.playezu.com/26225.html
    转载说明: 点我前往阅读>>>
匿名

发表评论

匿名网友
确定