所以,基本上我使用硒來自動化測試Web應用程序。有沒有辦法讓硒存儲cookie,以便我可以在java代碼中調用它?
- 我使用從Selenium IDE中導入的Java基本步驟,然後添加一些額外的Java代碼。
- 然後我將它發送到Selenium服務器來執行自動化步驟。
這裏是代碼的作用分解成兩個部分:1
部分:
這基本上是一些步驟登錄到Web應用程序。 它有用戶名和密碼,它發送POST和POSTDATA到服務器。 這裏的一切都是通過Selenium完成的,當Selenium自動完成測試時,您可以在Web瀏覽器中看到它完成。
第2部分:
這基本上是一些步驟發送所述數據庫中的用戶名的PHP文件使用POST和POSTDATA在服務器上。 (爲了正確發送此POST,它需要使用第1部分的Web應用程序進行身份驗證。) 此處的所有內容均通過Java完成。
問題:
所以我遇到問題是,第1部分和第2部分,似乎被視爲相互排斥。一旦我使用Selenium與Web應用程序進行身份驗證,普通的Java代碼就不會使用該會話。我不得不從HTTP頭中複製cookie,直接將它從第1部分插入到第2部分的POST中。這似乎是一個非常手動的過程,可以讓第2部分工作。
所以我想知道是否在第1部分中有一種方法讓Selenium在驗證和登錄之後在某處存儲cookie。 (可能會將cookie存儲到某個對象中)
因此,在第2部分中,我可以使用Java調用該對象並將cookie填充到必填字段中,然後完成第二次POST到Web應用程序,而無需手動給它一個有效的cookie。