2015-10-11 36 views
2

我在接受採訪時被問到了一個問題: 您正在開展一個會議,並且有一些針對初次用戶的調查問卷。但是,當用戶關閉瀏覽器並重新打開它時,問卷肯定不會出現(因爲他現在不是第一次使用該用戶)。我必須告訴如何使用TestNG框架(使用Java)在Selenium中自動執行此場景。所以基本上他想關閉/退出當前的驅動程序,並希望使用另一個驅動程序來重新打開頁面,並確保新的會話記住用戶以前訪問過(就像手動完成一樣)。如何使用FirefoxProfile保留舊會話瀏覽器?

我的答案是將cookie添加到新的驅動程序會話中。但他力圖做到這一點。他想要像使用者一樣測試。 他給了我一個關於如何使用FirefoxProfile來保留我們正在處理的配置文件的提示。

什麼是FirefoxProfile的用法,我們該如何在當前場景中使用它。如果您能提供爲此編寫的代碼,我將不勝感激。

回答

1

因此,這取決於具體網站如何確定您是否回答了調查問卷。由於您在問題中沒有給出解釋,我只會認爲它是以大多數人的方式完成的 - 即使用cookie。

如果這個假設是正確的,你建議使用cookie是最好的建議,你的採訪者聲明使用FF配置文件根本沒有意義。我的意思是,我甚至不確定你可以用FF配置文件做這樣的事情,無論如何,當瀏覽器被觸發(或者使用代理注入)時注入cookie肯定是一種解決方法。這也可能是或者可能不是你的面試官對網絡的工作方式有一點扭曲的認識。所以:

他想完全像用戶一樣測試。

怎麼會真的看起來像你的面試官心中 - 「一個惡作劇用戶不知道各地的網絡,結束他的會議時接受和全新安裝一個瀏覽器的重新開始,但在相同的時間總是偷偷注射所以他沒有得到調查問卷?「......我並不是真正的認證專家,我沒有科學數據證明這一點,但我幾乎不認爲這是我的用戶所做的。做是..沒什麼。這是瀏覽器記住cookie,因此給webapp一個方法來了解這個用戶是否訪問過你。所以是的,我再次說明,注入cookie是你應該做的。即使可以使用FF配置文件注入cookie或smth,只是拒絕這樣做並使用WebDriver對象,因爲使用配置文件來執行此類任務只是沒有意義(啓動FF時會創建新的FF配置文件,還會聲明:

「輸/退出當前的驅動程序,並希望使用另一個驅動程序 重新打開頁面,並確保新的會話記住用戶已經訪問過(就像它的手動完成) 。」

:旋轉新的WebDriver實例並點擊「打開Firefox作爲用戶」不是一回事,請參考d如果你不相信我的話調用new FirefoxDriver()會導致系統使用新的匿名配置文件加載新的FF,而「正常的FF安裝」與其所有緩存和其他內容一起存在於硬盤中。

所以有時在面試時他們故意給你提出沒有意義的問題,試圖解決它們會傷害你的家人以及我的人類和整個人類 - 比如「編寫正則表達式來解析HTML」。在這些情況下,你只需要說:「這不是我們怎麼做,讓我們繼續下一個問題」。這就是你應該做的,我認爲。好運。

相關問題