喜愛Sahi的10個理由

2022-05-09 04:15:11 字數 1216 閱讀 1817

工具與語言本身

1. 容易上手

個人體驗,sahi學習起來要比qtpselenium

2.2. 對extjs支援不錯

qtp能支援的對於動態id的支援(通過正規表示式或者_near等相對關係),sahi可以同樣做到。而在對於**處理方面,sahi要略勝一籌。比如,判斷乙個表的某個**是否是某值,在sahi裡可以一句**輕鬆實現:_assertequal("abcd",_gettext(_cell(1,_in(_div("x-grid3-body")))));而qtp則需要做表和列的迴圈才能拿到,**量大且效率也不高。

3.3. 對於ajax呼叫和頁面載入,大部分時間不需要顯式wait。當然,我實踐下來有些情況還是需要寫wait,導致**比較醜陋。

4.4. sahi指令碼執行更快速

由於支援多個瀏覽器程序同時執行,互相獨立的測試指令碼可以並行執行,大大縮短測試執行時間。這對於快速檢查某版本的穩定性是乙個很棒的特性。

5.5. 免費

雖然sahi有免費版和收費版,但免費版已經很不錯。

環境相關

6.6. sahi較輕量,所以對機器資源要求較低,也似乎更容易穩定

sahi啟動比起qtp肯定是輕量。它也沒有大量的or需要儲存。sahi**說同時執行3個程序大概是50m記憶體。所以無論從儲存空間、執行時的效率和穩定性,sahi都讓我更信賴一些。

7.7. sahi指令碼執行時可以釋放滑鼠,也可以鎖屏

原來我們在做daily build的時候碰到的乙個問題是qtp的指令碼不能在鎖屏的情況下執行,而需要另外的方法繞過去。sahi沒有這個問題,它執行的時候你可以用滑鼠和鍵盤做其它事情,鎖屏的時候它也乖乖地執行。

8.8. sahi對瀏覽器支援不錯

sahi支援一套指令碼,多個瀏覽器下執行(僅需要修改乙個執行引數)。所以,不同瀏覽器下程式不相容問題可以快速暴露出來。而且sahi對瀏覽器的新版本支援也沒有問題。不象有些工具對瀏覽器不同版本的patch總是滯後比較多的時間,而不打patch則無法執行。

9.9.sahi可以和持續整合工具輕鬆整合

sahi提供介面,可以方便地和ant, hudson, jenkins整合。

10.10.sahi提供對bdd的支援

sahi支援ruby語言程式設計,可以和cucumber整合來實現bdd。

愛上 SQLAlchemy 的 10 個理由

最近,我見到了很多針對 orm 的抨擊,但是我覺得有些批評是莫須有的。我本人就是 sqlalchemy 的忠實擁躉。在我的專案裡很多地方都用到了 sqlalchemy,我也為 sqlalchemy 專案貢獻了一些 這篇文章裡,我會闡述你應當愛上 sqlalchemy 的10個理由。說實話,除了 sq...

使用雲CRM的10個理由

crm即customer relationship management,客戶關係管理,是一種以 客戶關係一對一理論 為基礎,旨在改善企業與客戶之間關係的新型管理機制。crm系統是企業為提高核心競爭力,利用相應的資訊科技以及網際網路技術來協調企業與顧客在銷售 營銷和服務上的互動,從而提公升管理方式,...

我痛恨 Git 的 10 個理由

2012年03月10日 git 是乙個源 版本控制系統,正在迅速成為開源專案的標準。它有乙個強大的分布式模型,允許高階使用者用分支來處理各種棘手的問題和改寫歷史記錄。但是,要學習 git 是需要付出更多的努力,讓人不爽的命令列介面以及 git 是如此的忽視它的使用者。下面是我為什麼如此痛恨 git ...