ヘッドレスモードが有効な場合にのみスクリプトが失敗します。コーディング中に私が見なければならないものを私に提案してください。ヘッドレスChromeでのパフォーマンスの問題
- ほとんどのスクリプトはTimedOutによって失敗しました。
- 特にロケータを探す必要があるものはありますか?私はこの場合、CSSが私を助けないと信じています。ロケータに関連する何か他に存在するだろうか?
- 連続統合サーバーでは、実行が非常に遅いです。 Timed_Out秒の制限は50に固定されています。これは私にとっても100であっても機能しませんでした。私がTimeOutまで100秒までしか使用できないように制限して、この。ここで
は私がヘッドレスを有効にする場合にのみ受け取る少数の例外あり、
1. WebDriverException: unknown error: Element <input type="radio" class="wizard-input" name="5a68a4c173bb-TOTAL-1" id="5a68a4c173bb-TOTAL-1" value="1"> is not clickable at point (496, 551). Other element would receive the click: <div class="navigation-bar">...</div>
は、待機条件を適用しようとしたとしてもスクロールとクリックしてください。
2. TimeoutException: Expected condition failed: waiting for element to be clickable: By.cssSelector: div.icon.icon-add.add-contact-button (tried for 50 second(s) with 500 MILLISECONDS interval)
Marcelが提案した条件を適用しようとしました。あなたがWebDriverWaitを使用していない場合はそれも100seconds
ここ私のコードのいくつかの例があり、
public void clickForwardButton(){
WaitTillElementToBeClickable("xpath", LoginData.Forward);
ScrollAndClickOnElement("xpath", LoginData.Forward);
} //The error seems to be like it wont scroll properly and hence I receive element not found exception
protected void WaitTillElementToBeClickable(String locatorType, String locatorValue) {
try {
WebDriverWait wait = new WebDriverWait(driver, TIME_OUT_IN_SECONDS);
if (locatorType.equalsIgnoreCase("cssSelector")) {
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector(locatorValue)));
} else if (locatorType.equalsIgnoreCase("xpath")) {
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(locatorValue)));
} else if (locatorType.equalsIgnoreCase("id")) {
wait.until(ExpectedConditions.elementToBeClickable(By.id(locatorValue)));
}
} catch (Exception e) {
logger.error("Webdriver Locator Error" + e);
}
}
関連するHTMLとエラースタックトレースに失敗したコードブロックを共有できますか? – DebanjanB
@Debanjan - 私はいくつかの例で私の質問を更新しました。チェックしてください。 – Roja
ありがとうDebanjan私は、与えられたリンクを理解することによって私のコードを修正する方法を今や十分に明確にしています。 – Roja