1. 程式人生 > >macaca測試web小例子

macaca測試web小例子

class bdr ant 測試結果 文檔 () 官方 quit 中心

上午剛把macaca的環境在公司的電腦上吧web 端的環境給搭建好,於是乎,看看網上的例子,看看官方的文檔

https://macacajs.github.io/wd.py/ 可以在這個鏈接看到原滋原味針對python的api接口,還有例子,其實看著官方給出來的文檔和例子是那麽簡潔通俗易懂,所以無論學什麽我感覺學習官網的例子還是很重要的,搭好環境要不要實踐呢,當然我們的答案是肯定的,實踐出真知,動手,拿博客園的登錄,和登錄後在個人中心搜索為例子,算是對macaca的入門吧。

https://passport.cnblogs.com/user/signin

首先我們去查看下登錄界面,

技術分享

看到這個我們是不是感覺很爽啊,是的 直接id就能搞定了,這對我們初學一個工具的人來說有沒有很簡單,有沒有很easy,那麽我們第一個的登錄用例的輸入框的定位是不是就很好定位了,通過id就可以定位到我們的所需要的元素了,忘了還有一個斷言啊,這裏的斷言我們就沒有用id,換個定位方式吧,定位這個界面的個人資料,咋一看,classname完全可以定位,soeasy了,那麽我們接著來看下登陸後去搜索園友

技術分享

再次被我們發現了,這個輸入框和搜索是不是還是很好定位的啊,小夥伴們都知道,那麽這樣是沒有難度的,沒有難度的,很快我們的用例就能搞定,於是乎,獻上代碼。

from macaca import WebDriver
import unittest
import HTMLTestRunner,time
die_arp={
    ‘platformName‘:‘Desktop‘,
    ‘browserName‘:‘electron‘
}
server_url={
    ‘hostname‘:‘localhost‘,
    ‘post‘:3456
}
class BokeyuanTest(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.deriver=WebDriver(die_arp,server_url)
        cls.deriver.init()
        cls.deriver.get(‘https://passport.cnblogs.com/user/signin‘)
    @classmethod
    def tearDownClass(cls):
        cls.deriver.quit()
    def test_login(cls):
        cls.deriver.element_by_id(‘input1‘).send_keys(‘北漂的雷子‘)
        cls.deriver.element_by_id(‘input2‘).send_keys(‘li.930423‘)
        cls.deriver.element_by_id(‘signin‘).click()
        cls.assertEqual(cls.deriver.element_by_class_name(‘set_profile‘).text,‘編輯個人資料‘)
    def test_serc(cls):
        cls.deriver.element_by_id(‘txt_user_name‘).send_keys(‘逍遙豆‘)
        cls.deriver.element_by_id(‘btn_blue‘).click()
        cls.assertTrue(‘逍遙豆‘,cls.deriver.title)
if __name__ == ‘__main__‘:
    suite = unittest.TestSuite()
    now = time.strftime(‘%Y-%m%d‘, time.localtime(time.time()))
    report_dir = r‘%s.html‘ % now
    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(BokeyuanTest))
    re_open = open(report_dir, ‘wb‘)
    runner = HTMLTestRunner.HTMLTestRunner(stream=re_open, title=‘demo by macaca‘, description=‘測試結果‘)
    runner.run(suite)

  

  運行運行,

技術分享

速度是不是很快呢,看看我們的測試報告

技術分享

完美,測試完畢,測試報告已出,後續實驗正在進行中,Macaca不錯,阿裏開源

macaca測試web小例子