簡體   English   中英

使用TeaSpoon - Jasmine編寫規格時,直接使用PhantomJS訪問頁面

[英]Visit pages using PhantomJS directly when writing specs with TeaSpoon - Jasmine

我正在嘗試使用Teaspoon(Jasmine版本)為我的Rails 3.2應用程序編寫Javascript規范。 我正在嘗試編寫一個類似這樣的規范

describe("Fun", function() {
    var page = require('webpage').create() //ERROR

    it("should be so much fun", function() {
        page.open('/pageToTest/')
        expect($('#HereIsTheParty')).not.toBe( undefined );
    });
});

但是,require('webpage')不運行( 錯誤:模塊名稱“system”尚未加載上下文 ),即使已經安裝了Requirejs gem並且可以從Chrome控制台訪問它。

我的問題是,我可以輕松獲得要求('網頁')使用Rails運行還是我應該使用其他東西? 到目前為止,我一直在使用Capybara可能更容易

describe "Fun", :type => :feature do
    it "should be so much fun" do
        visit '/pageToTest/'
        expect(page).to have_content 'Success'
    end
end

沒有任何問題。 但我更喜歡使用純Javascript,因為在這種情況下它更方便。 你們有什么感想? 謝謝!

使用Teaspoon規范不會在phantomjs的上下文中運行,它們會在瀏覽器的上下文中加載,因此無法訪問phantomjs。 只有內部的phantomjs驅動程序(repo中的runner.js)有任何phantomjs的概念,它會加載一個帶有javascripts的html頁面。

聽起來你可能正在用幻影卷曲Teaspoon,這並不能准確描述實際發生的情況。 Teaspoon僅使用phantomjs作為跑步者層,並且與Selenium或Capybara Webdriver(兩者也支持)的處理方式沒有區別。 所以問題類似於詢問如何從您的javascript規范中訪問Selenium。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM