Ruby之Rspec的報錯解決

來源:互聯網
上載者:User

標籤:

#enconding:utf-8require 'selenium-webdriver'require 'rspec'describe "baidu main page" doit "should have 百度一下 button on the baidu main page"dodr = Selenium::WebDriver.for:ieurl = 'www.baidu.com'dr.get urldr.find_element(:id,'su').should be_displayedend #itend #describe

錯誤碼如上所看到的,首先使用utf-8編碼,例如以下

#enconding:utf-8

在rspec中運行會出現中文無法解釋的錯誤


顯然,當前utf-8還不支援中文的正常運行。將utf-8改為gbk就可以成功運行。這是第一個遇到的問題。

第二個問題就是斷言。

dr.find_element(:id,'su').should be_displayed

should方法的斷言似乎已經過時了。在運行rspec -f doc的時候會出現語法錯誤的提示。要求改動斷言的文法


將斷言的代碼改動為以下的表達:

expect(dr.find_element(:id,'su')).to be_displayed


</pre><pre>

斷言的新文法格式參見下所看到的:expect(dr.find_element(:id,'su')).to be_displayed對照之前的should文法: dr.find_element(:id,'su').should be_displayed

正常啟動並執行代碼例如以下所看到的:

#encoding:gbk#使用GBK才幹正常顯示,不報錯,使用UTF-8會報錯require 'selenium-webdriver'require 'rspec'describe "baidu main page" doit "should have 百度一下 button on the baidu main page"dodr = Selenium::WebDriver.for:ieurl = 'www.baidu.com'dr.get url#~ dr.find_element(:id,'su').should be_displayedexpect(dr.find_element(:id,'su')).to be_displayed#新的文法end #itend #describe


將編碼和斷言的方法改為上述運算式就可以成功運行。

運行結果例如以所看到的:


Ruby之Rspec的報錯解決

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.