Edge Webdriver 15063 and 16299 are not working with Selenium 3.7.0 version

Site Outreach Issue #14557371

Details

Author
shailesh a.
Created
Nov 7, 2017
Privacy
This issue is public.
Found in
  • Microsoft Edge
Reports
Reported by 2 people

Sign in to watch or report this issue.

Steps to reproduce

Microsoft WebDriver(EDGE) 15063 and 16299 are not working with Selenium 3.7.0 version , can some one help on the issue ?

Attachments

Comments and activity

  • Microsoft Edge Team

    Changed Assigned To to “Steven K.”

  • Hi Team, Any update on the issue ?

  • Hi Shailesh,

    Looking at this now.  Have you tested with the 3.7.1 version?

    Steve

  • Still we don’t have 3.7.1 version released for testing . only 3.7.0 is the latest version .

  • I see 3.7.1 as the default for Java:

    http://www.seleniumhq.org/download/

    I take it you are using the C# language bindings?  The Java bindings are not working properly as well it seems.  I will verify the C#.

    What error are you seeing when you run your testing?  I can get the webDriver to run and load a URL, however, my tests are failing.  It appears to be on the click() method.  Here is my test case:

    @BeforeClass 
    

    // Runs this method before the first test method in the current class is invoked

    public void
    setUp() {
    // Edge!

    EdgeOptions options = new
    EdgeOptions();
    driver
    = new
    EdgeDriver(options);
    // chrome

    // driver = new ChromeDriver();

      // firefox
    

    // driver = new FirefoxDriver();

    }
    @Test
    // Marking this method as part of the test

    public void
    gotoSeleniumWikiPage() {
    // Go to the Wikipedia home page

    driver
    .get(“https://en.wikipedia.org/
    );
    // Find the text input element by its id and type “Selenium”

    driver
    .findElement(By.id
    (“searchInput”
    )).sendKeys(“Selenium”
    );
    try
    {
    Thread.sleep
    (3000
    );
    } catch
    (InterruptedException e) {
    e.printStackTrace();
    }
    // Click search button

    driver
    .findElement(By.id
    (“searchButton”
    )).click();
    // Get text from header of the Selenium page

    String header = driver
    .findElement(By.id
    (“firstHeading”
    )).getText();
    // Verify that header equals “Selenium”

    Assert.assertEquals
    (header, “Selenium”
    );
    }

  • I ran the test I just mentioned on 16299.19.  Chrome is no repro.  i.e. just changing the comments in the @setup() method.

  • I am testing with .net

  • I am attaching my pom.xml

  • I am using the C# language bindings which is 3.7.0 and currently in my case its not working . i tried with 3.6 also but that also is not working .

  • @Steven . . . i think pom .xml is used in Java . i am looking for the C# language bindings

  • Maven is platform independent and can be used with .net and C#, however, it is more commonly used in Java.  You care correct my example was using the Java language bindings.

    In this case, it appears the issue is either in the driver or in both language bindings.  I will test C# as well but expecting it to fail.

  • Microsoft Edge Team

    Changed Assigned To to “edgedevtoolstri@microsoft.com”

  • I am having the same problem as those above using Selenium 3.6.0 running tests with Edge Webdriver 15063. All of my tests failed due to not being able to click. Sometimes the same click was successful, and sometimes it wasn’t. But all the tests failed from not being able to successfully click. Using the same test suite, they all passed in Chrome, Canary, and Firefox. I am setting up Selenium 3.7.0 today but I am worried reading the comments above that this will not work, as well.

  • I tried running tests using Selenium 3.7.0 today with Edge Webdriver 15063 and had the same issue I’ve been having.

  • Team, Any update on the issue ?

  • I am very interested in an update, as well.

  • Did Steven K’s test of the C# bindings fail? Do we have an update on the issue?

  • Hello all, I confirmed the issue (with Java bindings and/or MS WebDriver) and forwarded it.  I thought, perhaps, that might be enough.  I see that I was wrong and apparently I did say I would run the additional testing.  :->

    I will run the testing with C# now and report back.

  • I am glad I ran the testing with C# as it made me realize that I had a timing issue in my Java test version.

    Long story shorter:  my basic test case passed for both C# and Java 3.7.0 language bindings.  This was using the 16299 MicrosoftWebDriver.exe on Windows 10 16299.19.

    I also tested with Java 3.7.1 and 3.4.0 against the 16299 MicrosoftWebDriver.exe and both tests passed.  I.e. no repro.

    The reason I believe my original testing failed was due to timing.  I believe I did not wait long enough before attempting to click the submit on the search submit button.  Normally I include explicit waits to prevent this failure.  To verify this was a timing issue,  I added a thread.sleep().  I also noticed immediately after re-compiling my solution, the test would fail stating the element to enter the search term was obscured, I.e. had not rendered yet.  Adding another sleep (should be an explicit wait) solved that issue as well.

    I am attaching my C# solution and the Java code.  Let me know if anyone does not see the same results running the same or similar code.

    After re-reading Ashley’s details on the testing failures, I am thinking that the explicit waits could solve those intermittent failures.

    http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp

    Apologize for the quick assumption and thank you for pushing for the testing,

    Steve

  • As an example on how to use Explicit waits in C#, I am including a somewhat random test case I have that uses explicit waits.

    <code>
    using OpenQA.Selenium;
    using OpenQA.Selenium.Edge;
    using OpenQA.Selenium.Support.UI;
    using OpenQA.Selenium.Interactions;

    public void CSSTransformFromLowerCaseToUpper()
            {
                string elementID = "myIDForLower";
                string findText = "canyoufindme";
                int timeOut = 10;
                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeOut));
                By myByID = By.Id(elementID);
                wait.Until(ExpectedConditions.TextToBePresentInElementLocated(myByID, findText));
                Assert.AreEqual("myIDForLower", driver.FindElement(myByID).GetAttribute(“id”));
            }

    </code>

  • Including all of the “using” statements.  I thought I could leave some off, however, I know I get annoyed when people do that to me.  :-/

    using System;
    using System.Diagnostics;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using OpenQA.Selenium;
    using OpenQA.Selenium.Edge;
    using OpenQA.Selenium.Support.UI;
    using OpenQA.Selenium.Interactions;
    using System.Threading;

  • Microsoft Edge Team

    Changed Status to “Site Outreach”

  • Hey there,

    Just tested this without bindings and it’s working as expected. For selenium bugs you should file an issue on Selenium’s GitHub found here:
    https://github.com/SeleniumHQ/selenium

You need to sign in to your Microsoft account to add a comment.

Sign in