有沒有人有用功能語言編寫UI自動化的例子或經驗?我目前正在學習F#以更好地理解功能概念,並且我很難研究如何使用函數式語言來構建自動化的UI測試 - 似乎易於使用與Java中相同的頁面/屏幕對象模式或C#,但由於缺乏經驗,我很好奇,如果有我錯過了不同的方法。使用功能語言的UI自動化
3
A
回答
11
使用功能性語言的最大勝利將來自根本不需要使用課程,但能夠在正確答案時能夠使用。另外,由於類型推斷和語法,F#允許有一個不錯的clean'dsl'外觀測試套件。常見的操作(例如:登錄)很容易被抽象爲一個函數並在測試中調用。任何非常特定於頁面的功能都可以添加到該頁面的模塊以及其定義的功能(css選擇器等)。
這裏是canopy
test(fun _ -> //description of the test describe "registering a user" //go to root url "/" //ensure that you are on the login page on "/Account/LogOn" //click the registration link click "form a[href='/Account/Register']" //verify that you were redirected on "/Account/Register" //set the value of the input to email address specified "#Email" << "[email protected]" //set the value of the input to "Password" "#Password" << "Password" //set the value of the input to "PasswordConfirmation" "#PasswordConfirmation" << "Password" //click the register button click "input[value='register']" //verify that you were redirected on "/" //log off after test url "/account/logoff" )
更多樹冠
我已經寫在F#(也一個用Ruby)的Web自動化框架/庫編寫一個測試的例子,迄今,雖然我不認爲它的風格是功能性的,但它沒有任何類。幾乎所有東西都是一個功能。您的測試套件是運行的功能列表。
隨着< 500控制線只有3個模塊,主要設置的功能與您的網頁,一個簡單的測試運行,以及一些配置變量進行交互。在這一點上,這種範式對我來說非常有效。我不使用類來進行頁面定義,因爲對於我來說,頁面定義就像我使用的CSS選擇器一樣簡單。具有一堆值的模塊很好地滿足了這個需求。
給它一個鏡頭,我想你會發現它是一個很好的方式來實現你的目標。
對不起,第一次發佈所以它不會讓我顯示更多的鏈接。看看github,你可以在/canopy/canopy/canopy.fs看到源代碼。
0
您似乎回答了您自己的問題,F#支持OOP,OOP在這種情況下非常合適,並且在這種情況下,命令與功能之間的區別與結構是分開的。所以使用類和方法就像在C#中一樣,但是以功能性的方式編寫單元測試。
相關問題
- 1. 功能的「自然語言」
- 2. 在iOS中使用多語言進行UI自動化測試
- 3. 自然語言自動化?
- 4. 適用於不同語言的iOS UI自動化
- 5. 動態LINQ語言功能
- 6. CodeIgniter動態語言功能
- 7. 優化多語言支持功能
- 8. 使用TestNG自動化功能測試?
- 9. JSP多語言化自動化
- 10. 此功能使用什麼語言?
- 11. Go語言自動化(如何使用硒像瀏覽器自動化)
- 12. 使用自然語言自動填充
- 13. Lisp語言的功能
- 14. 功能語言動態編程
- 15. 動態更改UI語言
- 16. 手動設置UI語言?
- 17. 語言功能vs框架功能
- 18. 自動化Excel VBA功能
- 19. 自動化功能在Matlab
- 20. jQuery UI的自動完成功能在使用笨的Oracle表
- 21. UI自動化
- 22. UI自動化
- 23. 使用VB6的Siebel UI自動化
- 24. 如何使用jQuery UI自動完成功能(帶Chrome語音輸入)
- 25. 用戶界面自動化語音通過輔助功能
- 26. 編程語言功能
- 27. Javascript作爲功能語言
- 28. Mailchimp多語言功能
- 29. 功能彙編語言
- 30. Java語言的開關語法功能使用ANTLR
你會如何自動化一個命令式語言的UI測試?自動化UI測試幾乎與您使用的範例無關,因爲無論如何您都可能使用第三方工具來執行此類操作。 – 2012-08-08 12:54:32
您可以查看Web UI的[WebSharper](http://websharper.com/home)和多個[作品](http://www.navision-blog.de/2012/03/22/wpf-designer- for-f /),但總的來說,你的問題表明沒有搜索工作。 – bytebuster 2012-08-08 12:57:25
@Onorio - 實際上,我不太可能使用第三方工具,因此提出這個問題。在一個命令式面向對象的語言中,我將通過創建代表每個頁面/屏幕的對象來構造我的測試,創建代表常見交互的方法並將這些對象用於自動化。可以在我看到的F#中做到這一點,但想知道是否有更好的方法,功能語言允許 – Dave 2012-08-08 15:30:46