Hi Lahiru,

You can use TestNg soft assert for this.

Basically what you want is
1. Check the element whether it is exists.
2. It should not make assert fail and stop the test execution if element is
not there.
please refer [1] for soft assert.

[1].
https://rameshbaskar.wordpress.com/2013/09/11/soft-assertions-using-testng/

Thank you,
Dharshana.

On Tue, Feb 9, 2016 at 5:32 PM, Madhawa Perera <[email protected]> wrote:

> Hi Lahiru,
>
> Try following code snippet, if you are looking for a method, that returns
> true/false when checking the existence of an element.
>
>  private boolean isElementPresent(By by) {
>
>         if(driver.findElements(by).size() != 0){
>             //System.out.println("true");
>             return true;
>         } else {
>             //System.out.println("false");
>             return false;
>         }
> }
>
> Hope this will help you. Check the following [1] reference too.
>
> [1]
> http://stackoverflow.com/questions/6521270/webdriver-check-if-an-element-exists
>
> Regards,
> Madhawa
>
>
> On Tue, Feb 9, 2016 at 4:32 PM, Lahiru Cooray <[email protected]> wrote:
>
>> Hi Lahiru,
>>
>> I have faced the similar issue and I noticed that some times the
>> dynamically loaded elements are not loading when we are using wait.until()
>> without a driver refresh() So I used a similar code snipped like this:
>>
>>
>>
>>  WebDriverWait tempWait = new WebDriverWait(driver, 5); //5 is the
>> waiting time in seconds
>>
>>         for (int i = 0; i < 2; i++) {
>>             try {
>>
>> tempWait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(
>>                         "a[href*='/store/assets/webapp/" + appId +
>> "']")));
>>                 driver.navigate().refresh();
>>                 break;
>>             } catch (org.openqa.selenium.TimeoutException e) {
>>                 //Expected error when no element found
>>             }
>>         }
>>
>> Here i'm trying two times and waiting a fair time to load the element.
>>
>>
>> On Tue, Feb 9, 2016 at 3:34 PM, Lahiru J Ekanayake <[email protected]>
>> wrote:
>>
>>> Hi ,
>>>
>>> I have already tried with wait.until method. It will also return
>>> timeout exception searching after given timeout.  I think anyway we have to
>>> use try block to check existences of  an element. I have looked for a
>>> method that returns ture/false on a given element existence . I'm not sure
>>> that kind of method already in selenium.
>>> Thank you for your help.
>>>
>>> Regards
>>>
>>> On Tue, Feb 9, 2016 at 3:13 PM, Rajeenthini Satkunam <
>>> [email protected]> wrote:
>>>
>>>> Hi lahiru,
>>>>
>>>> If you need to check that element is present in the current UI, You can
>>>> go with this method *isElementPresent(By by)*.
>>>>
>>>> for example in your case *driver.**isElementPresent*
>>>> *(By.id("elemnt_id")) *will return true if the element is present in
>>>> current UI or else it will return false.Hope it will help you.
>>>>
>>>> For your reference
>>>>
>>>> [1] -
>>>> https://github.com/wso2/product-ds/blob/master/modules/integration/tests-ui-integration/ui-test-utils/src/main/java/org/wso2/ds/ui/integration/util/DSWebDriver.java#L47
>>>>
>>>> On Tue, Feb 9, 2016 at 3:01 PM, Lahiru J Ekanayake <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi ,
>>>>>
>>>>> I'm writing selenium tests for GREG publisher UI. When implementing UI
>>>>> test cases, some situations we need to check whether some elements exists,
>>>>> before click or make any operations on them.
>>>>> Selenium provides, *driver.findElement(By.id("elemnt_id")) *
>>>>> method to find any element by id. Problem is if that element is not
>>>>> exist , it will return an error, saying
>>>>> *org.openqa.selenium.NoSuchElementException: Unable to locate
>>>>> element:{"method":"id","selector":"elemnt_id"}*
>>>>>
>>>>> Is there any way to check the existence of any element , without
>>>>> catching the error? .
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Regards
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>>
>>>>> *Lahiru J Ekanayake**Software Engineer*
>>>>> Mobile : +94 (0) 77 8812629 / +94(0) 778509547
>>>>> Email : [email protected]
>>>>> WSO2, Inc.; http://wso2.com/
>>>>> lean . enterprise . middleware.
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> [email protected]
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Thank You.*
>>>>
>>>> *Rajeenthini Satkunam*
>>>>
>>>> *Associate Software Engineer | WSO2*
>>>>
>>>>
>>>> *E:[email protected] <[email protected]>*
>>>>
>>>> *M :+94770832823 <%2B94770832823>   *
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>>
>>>
>>> *Lahiru J Ekanayake**Software Engineer*
>>> Mobile : +94 (0) 77 8812629 / +94(0) 778509547
>>> Email : [email protected]
>>> WSO2, Inc.; http://wso2.com/
>>> lean . enterprise . middleware.
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> *Lahiru Cooray*
>> Software Engineer
>> WSO2, Inc.;http://wso2.com/
>> lean.enterprise.middleware
>>
>> Mobile: +94 715 654154
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Madhawa Perera
> *Software Engineer*
> Mobile : +94 (0) 773655496
> <%2B94%20%280%29%20773%20451194>
> [email protected]
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 

Dharshana Warusavitharana
Senior Software Engineer , Test Automation
WSO2 Inc. http://wso2.com
email : [email protected] <[email protected]>
Tel  : +94 11 214 5345
Fax :+94 11 2145300
cell : +94770342233
blog : http://dharshanaw.blogspot.com

lean . enterprise . middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to