如何作跨平臺業務流程自動化(Windows,Moible,Web)

業務流程自動化不只是機器人流程自動化(RPA)要實現的目標,也是自動化測試中的一個重要環節。html

實現自動化測試的初級階段是單個應用實現自動化測試。獨立的應用測試只涉及一個平臺,但不少業務流程涉及多個應用,並且跨平臺,例如一個典型的電商平臺能夠包含用戶端Web界面、手機客戶端、後臺管理系統,與其它系統交互的API等,涉及個平臺如Windows、Mobile或Web等。node

單個應用作自動化測試有侷限性,很難發現系統集成的問題,致使線上系統出現異常,整個流程作自動化測試又有難度。下面的場景你們可能會以爲比較熟悉:git

公司的應用通常分爲桌面端,手機端,網頁端以及服務器端等。咱們一般在各個平臺端都選用流行的自動化測試庫。例如手機端你們可使用熟悉Appium來作,網頁端使用Selenium。這些工具單獨使用能很好的處理手機端測試、或者Web端測試,自動化測試工程師均可以很快的上手。github

對於一些跨平臺的場景:好比用戶在手機端進行下訂單的操做,須要管理員在網頁端應用或者在桌面端應用去對這個訂單進行操做的場景。這個時候有些工程師可能就會以爲有些困難。web

跨多平臺作自動化一直是一個挑戰,不只對於自動化測試工程師而言是如此,對於RPA實施工程師也是同樣。那麼有沒有一種解決方案,既可以重用已有的知識,用本身熟知的開源庫來作,並且可以使用開源的框架和全棧的語言呢?瀏覽器

今天咱們就爲你們介紹一下一個不只是開放的,並且是輕量級的跨平臺自動化解決方案。服務器

據統計,github中JavaScript的項目數量最多,從這一點能夠說JavaScript是最流行的。單用JavaScript就能夠開發全部平臺的測試。這裏推薦的方案是用開源的Node.js + Cucumber做爲驅動框架,自動化庫用Appium、Selenium、webdriverio等開源工具,而Windows自動化部分能夠用CukeTest自帶的自動化庫。開發環境器也用CukeTest。這樣你只要熟悉JavaScript語言,在一個開發工具裏就可實現多平臺測試。下面介紹具體的樣例,並附帶演示視頻。框架

場景驅動自動化流程

Cucumber.js是流行的行爲驅動(BDD)框架,使用天然語言描述是BDD的一個亮點,無論是業務人員,仍是開發、測試人員,都能經過feature文件快速瞭解整個測試場景。具體可查看https://github.com/cucumber/cucumber-js.ide

通常的開發項目管理主要是對代碼面的管理,行爲驅動測試提供給咱們一種從管理用例文檔方式來管理整個測試項目的可能。在CukeTest中能夠根據不一樣的測試場景定義不一樣的feature文件,經過運行不一樣的feature文件來驗證對應的功能。在同時對三端的自動化中,使用CukeTest,定義不一樣的場景就能輕鬆完成對應的測試項目管理。工具

下面介紹的例子,就是老闆Jason Seaver在Windows端發郵件給Carol,讓她將培訓資料發給本身。Carol由於不在公司,因此用手機端應用發送回覆,說一會到公司就辦。而後到了公司,Carol使用瀏覽器端的Outlook Web版發送附件完成老闆的要求。這些操做涉及3個場景,以及Windows Mail、移動端Outlook、以及瀏覽器Web應用等。咱們將這個流程分紅3個場景。

首先編寫場景描述:

使用相應的開源庫

有了行爲驅動的場景,而後在實現代碼中爲Windows,Mobile,Web分別建立不一樣的自動化庫的實例,針對不一樣的場景運行的運行的時候調用不一樣的實例就能夠了。

實現場景,編寫代碼這一部分比較長,放到下次講。 。這裏大體介紹一下用到的開源庫。

Node.js中第三方庫特別多,引入對應的庫,就能作相應自動化,好比作Web自動化,你能夠引用Selenium,也可使用wd,或者webdriverio,另外使用Chrome開源的puppeteer也是不錯的選擇,強大的第三方開源庫的支持使您能夠勝任任何類型的自動化。

(截至發稿前,node.js的模塊已經有70萬+, 數據來源 www.modulecounts.com/)

操做Windows控件使用CukeTest自帶的庫,它可以自動化大多數桌面應用包括C++、.NET、WPF、QT、Delphi等類型的應用。針對Web端和Mobile端,咱們使用開源的webdriver.io庫做爲實現庫。具體API能夠參考官方文檔 webdriver.io/guide.html

下面咱們就在具體的視頻裏看下如何針對這些場景,使用CukeTest是如何對Windows,Mobile,Web三端同時進行自動化的。

演示視頻: v.qq.com/x/page/i078…

咱們會在後期的文章中介紹具體如何開發實現這個Demo,敬請期待。

相關文章
相關標籤/搜索