سؤال

الأمر التالي

selenium.click("link=Identify Awards");

يفتح نافذة منبثقة ولكن الاختبار لا يستمر

لقد وضعت

selenium.waitForPopUp(null, "1500");
selenium.windowFocus();
selenium.selectPopUp("Search -- Webpage Dialog");

بعد أمر النقر دون جدوى ، يتم الانتقال إلى وظيفة Java.

أعلم أن هذا الأمر ينقر على رابط أو زر أو مربع اختيار أو زر الراديو. إذا تسببت إجراء النقر في حدوث صفحة جديدة (مثلما يحدث الرابط عادةً) ، فاتصلwaitForPageToLoad. أعتقد أن waitforPageToLoad لا يسجل التحميل المنبثق

تحديث

حاولت ما يلي

selenium.fireEvent("link=Identify Awards", "onClick");

وحصلت على ما يلي

المنبثقة في مجال آخر يمكن أن يكون هذا هو السبب؟

Exception in thread "Main Thread" org.openqa.selenium.ie.UnexpectedJavascriptExecutionException: Cannot execute script
System info: os.name: 'Windows Vista', os.arch: 'x86', os.version: '6.1', java.version: '1.5.0_12'
Driver info: driver.version: ie
    at org.openqa.selenium.ie.ErrorHandler.verifyErrorCode(ErrorHandler.java:70)
    at org.openqa.selenium.ie.InternetExplorerDriver.executeScript(InternetExplorerDriver.java:205)
    at org.openqa.selenium.internal.seleniumemulation.JavascriptLibrary.callEmbeddedSelenium(JavascriptLibrary.java:47)
    at org.openqa.selenium.internal.seleniumemulation.FireEvent.handleSeleneseCommand(FireEvent.java:35)
    at org.openqa.selenium.internal.seleniumemulation.FireEvent.handleSeleneseCommand(FireEvent.java:1)
    at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:33)
    at org.openqa.selenium.internal.seleniumemulation.Timer.run(Timer.java:47)
    at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:277)
    at org.openqa.selenium.WebDriverCommandProcessor.doCommand(WebDriverCommandProcessor.java:209)
    at com.thoughtworks.selenium.DefaultSelenium.fireEvent(DefaultSelenium.java:201)
هل كانت مفيدة؟

المحلول

استعمال selenium.selectWindow لتحديد المنبثقة ثم الاستخدام selenium.selectWindow(null) لتحديد نافذة قاعدة. لم تصف أي نوع من المنبثقة. هو مربع تأكيد أو إطار أو مربع حوار طراز أو ببساطة نافذة أخرى. السيلينيوم يختلف في علاج كل هؤلاء

نصائح أخرى

لقد وجدت أنه في بعض المناسبات عند تشغيل JavaScript على وجه الخصوص ، لا تستدعي وظيفة النقرات السيلينيوم أمر OnClick بشكل صحيح وقد تكون هذه هي المشكلة التي تواجهها.

إذا كان الأمر كذلك ، فحاول استخدام ما يلي لإطلاق حدث Onclick بشكل صريح:

selenium.fire_event("link=Identify Awards", "onClick")

امل ان يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top