When tried to login to the ZOHO account after switching the frame, user name is not taken instead java.lang.AssertionError: is thrown | Selenium Forum
G
Geeta Chelliah Posted on 27/01/2020

java.lang.AssertionError: no such element: Unable to locate element: {"method":"css selector","selector":"*[name='LOGIN_ID']"}
(Session info: chrome=79.0.3945.130)

How to resolve this?

public boolean doLogin(String username,String password) {
test.log(LogStatus.INFO, "Trying to login with "+ username+","+password);
//click("loginid_xpath");

wait(1);
// wait for page to load
waitForPageToLoad();
JavascriptExecutor js= (JavascriptExecutor)driver;
js.executeScript("return document.readyState");
// switch to frame
System.out.println(driver.findElements(By.tagName("iframe")).size());
driver.switchTo().frame(0);
//Thread.sleep(4000);
//(new WebDriverWait(driver, 30)).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("loginid_name"));
type("loginid_name",username);

click("next_id");
type("password_id",password);
click("Signinnext_id");

if(isElementPresent("elements_xpath")){
test.log(LogStatus.INFO, "Login Success");
return true;
}
else{
test.log(LogStatus.INFO, "Login Failed");
return false;

 


A
Ashish Thakur Replied on 28/01/2020

Did you try debugging the code?

 

Additionally, share the complete exception stack trace.


G
Geeta Chelliah Replied on 29/01/2020

Please find below the complete stack trace

 

[RemoteTestNG] detected TestNG version 6.9.4
[TestNG] Running:
C:\Users\geeta\AppData\Local\Temp\testng-eclipse--1834183652\testng-customsuite.xml

A
Test starts from row - 1
Total rows are - 2
Total cols are - 5
Starting ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614}) on port 11761
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
[1580236572.913][WARNING]: Timed out connecting to Chrome, retrying...
Jan 29, 2020 12:06:15 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
[1580236578.048][WARNING]: Timed out connecting to Chrome, retrying...
https://accounts.zoho.in/signin?servicename=ZohoHome&signupurl
1
FAILED: doLoginTest({Username=geetu.chelliah@gmail.com, ExpectedResult=Success, Password=Geet@131990, Runmode=Y, Browser=Chrome})
java.lang.AssertionError: no such element: Unable to locate element: {"method":"css selector","selector":"*[name='LOGIN_ID']"}
(Session info: chrome=79.0.3945.130)
For documentation on this error, please visit: https://www.seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'LAPTOP-LN64TJN5', ip: '192.168.1.106', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_231'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 79.0.3945.130, chrome: {chromedriverVersion: 79.0.3945.36 (3582db32b3389..., userDataDir: C:\Users\geeta\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:64910}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: ffdb69454126cb7d8a51c7cbf510ad0f
*** Element info: {Using=name, value=LOGIN_ID}
at org.testng.Assert.fail(Assert.java:94)
at com.geeta.ddfa.zoho.base.BaseTest.reportFailure(BaseTest.java:183)
at com.geeta.ddfa.zoho.base.BaseTest.getElement(BaseTest.java:122)
at com.geeta.ddfa.zoho.base.BaseTest.type(BaseTest.java:101)
at com.geeta.ddfa.zoho.base.BaseTest.doLogin(BaseTest.java:256)
at com.geeta.ddfa.zoho.testcases.LoginTest.doLoginTest(LoginTest.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:659)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:845)
at org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:75)
at org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:14)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

SKIPPED: doLoginTest({Username=geetu.chelliah@gmail.com, ExpectedResult=LoginIncorrect, Password=Abcd, Runmode=N, Browser=Chrome})
org.testng.SkipException: Skipping the test as runmode is N
at com.geeta.ddfa.zoho.testcases.LoginTest.doLoginTest(LoginTest.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:659)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:845)
at org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:75)
at org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:14)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


===============================================
Default test
Tests run: 2, Failures: 1, Skips: 1
===============================================


===============================================
Default suite
Total tests run: 2, Failures: 1, Skips: 1
===============================================

[TestNG] Time taken by org.testng.reporters.EmailableReporter2@96532d6: 69 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@6442b0a6: 131 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@34ce8af7: 501 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@7f63425a: 486 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@71be98f5: 20 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 15 ms


A
Ashish Thakur Replied on 29/01/2020

As per the log, i can see that the locator that you are trying to use is not working. Please retry using some other locator and try again.