0

我使用Jmeter 2.13與硒webdriver插件並排。當我開始我的線程時,它會打開一個新的Firefox會話,並清除所有Cookie和緩存。在之前的會話中,我進行了一次持續差不多5分鐘的同步,這會將我帶入我的應用中的一些產品。每次啓動線程時,我都不想同步。Jmeter與硒webdriver插件啓動火狐會話沒有清理餅乾/緩存

有什麼辦法可以啓動新的Firefox會話而不清除Cookie /緩存?

回答

0

如果我的猜測是正確的,那Selenium就是打開Firefox的一個實例,請看下面。如果沒有,請提供更多關於您使用代碼示例設置的信息。

默認情況下,Selenium以安全模式打開Firefox,其中很多內容被禁用(如擴展名,本地存儲設置等)。這也意味着你不會有任何緩存或cookie。

您可以閱讀更多關於here

要禁用此功能,您需要在`about:config`中將`toolkit.startup.max_resumed_crashes`設置鍵設置爲`-1`。

Selenium代碼明智,這可以通過在FirefoxProfile中設置首選項來實現。 C#代碼來實現它應該是這樣的:

FirefoxProfile firefoxProfile = new FirefoxProfile(); 
firefoxProfile.SetPreference("toolkit.startup.max_resumed_crashes", "-1"); 

IWebDriver driver = new FirefoxDriver(firefoxProfile); 
0

展望FirefoxDriverConfig.java源代碼的插件創建新的配置文件每次Firefox啓動時間:

FirefoxProfile createProfile() { 
    FirefoxProfile profile = new FirefoxProfile(); 
    String userAgentOverride = getUserAgentOverride(); 
    String ntlmOverride = getNtlmSetting(); 
    if (StringUtils.isNotEmpty(userAgentOverride)) { 
     profile.setPreference("general.useragent.override", userAgentOverride); 
    } 
    if (StringUtils.isNotEmpty(ntlmOverride)) { 
     profile.setPreference("network.negotiate-auth.allow-insecure-ntlm-v1", true); 
    } 

    profile.setPreference("app.update.enabled", false); 

    addExtensions(profile); 
    setPreferences(profile); 

    return profile; 
} 

因此,有2種選擇:

  1. 獲取插件源代碼並修改配置文件初始化行以使用您現有的配置文件:

    FirefoxProfile profile = new FirefoxProfile("/path/to/firefox/profile"); 
    

    請參閱How do I find my profile頁面的Mozilla文檔,瞭解有關如何查找當前配置文件目錄的說明。

  2. 停止使用webdriver的採樣,然後切換到JSR223 Sampler相反,它支持所有的webdriver採樣器,並提供了完整的控制語言(你必須寫所有的代碼來配置,啓動和停止自己的瀏覽器)