0
我想驗證一個外部javascript函數在頁面上通過Selenium單擊項目時被調用。 (我們已經有茉莉花單元測試覆蓋這與間諜)。訪問selenium中的window.external函數WebDriver
這樣的想法是有一些像
WebDriver.ExecuteJavascript<string>("window.called = false");
WebDriver.ExecuteJavascript<string>("window.external.MyFunction = function(){ window.called = true; }");
var element = WebDriver.GetElement(By.ClassName("awesomeElement"));
element.Click();
string value = WebDrider.ExecuteJavascript<string>("return window.called;");
這段代碼的問題是我收到的第一行異常。
這是例外:
Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at System.Object.GetType()
at OpenQA.Selenium.Support.Extensions.WebDriverExtensions.ExecuteJavaScript[T](IWebDriver driver, String script, Object[] args)
請注意,webdriver的不爲空,且方法拋出。我找不到任何文件表示訪問窗口函數/變量受到限制。任何想法可能是錯誤的?
你有什麼異常?謝謝。 – alecxe
是什麼例外? – fabersky
添加了異常:異常:System.NullReferenceException:未將對象引用設置爲對象的實例。在System.Object.GetType()在OpenQA.Selenium.Support.Extensions.WebDriverExtensions.ExecuteJavaScript [T](IWebDriver驅動程序,字符串腳本,對象[] ARGS) –