如何覆蓋硒使用C#的方法Click()
。 如下目前我使用Click方法 -如何覆蓋selenium Click()方法
driver.FindElement(By.ClassName("overflow-wrapper")).Click();
在調用腳本Click方法,硒應該調用由我重寫Click方法。
謝謝。 Amol。
如何覆蓋硒使用C#的方法Click()
。 如下目前我使用Click方法 -如何覆蓋selenium Click()方法
driver.FindElement(By.ClassName("overflow-wrapper")).Click();
在調用腳本Click方法,硒應該調用由我重寫Click方法。
謝謝。 Amol。
除非它被標記爲虛擬(並且不是),否則不能覆蓋此方法。
如果你想擁有自己的點擊方法,你可以簡單地創建它。
如果你想擁有它你IWebElement類,那麼你可以將它添加到類下一個辦法:
public static IWebElement Click(this IWebElement element)
{
//here is your implementation
return element;
}
這個方法必須是靜態類。所以用這種方法你只需要添加一個方法即可。
我的測試套件中有400多個腳本。 Click方法對於Mozilla Firefox瀏覽器正常工作。但在IE上執行這些腳本時;點擊方法不起作用。所以我解決了 - ILocatable clickItem =(ILocatable)項目; IMouse鼠標=((IHasInputDevices)驅動程序)。鼠標; mouse.Click(clickItem.Coordinates); 。現在我想用這個解決方法代替click方法(這對Firefox和IE都有效),這樣我的框架中就會有最小的變化 –
看來,使用擴展名可以使用方法的相同名稱,以便覆蓋它。 –
如何編寫重寫的方法。 –
你爲什麼要重寫click()方法。如果您在該方法中執行任何點擊操作,則必須將每個元素都設爲全局,然後在其中執行點擊操作。 –
實際上,在IE11上執行腳本時,.Click()方法不起作用。所以我想實現下面的重寫方法ILocatable clickItem =(ILocatable)item; IMouse鼠標=((IHasInputDevices)驅動程序)。鼠標; mouse.Click(clickItem.Coordinates); –
click()方法將適用於所有瀏覽器,如果這不起作用,可能是您的瀏覽器存在問題。我發佈IE瀏覽器相關的答案,一旦檢查。 –