Skip to main content

Following the advice given on https://help.salesforce.com/articleView?id=000352057&language=en_US&mode=1&type=1 I have been trying to write a method to get the text of an Output field.

Using the LWC plugin I ge the following info:

isShadowed: "true"

 

java: "String queryString = "return document.querySelector('one-record-home-flexipage2').shadowRoot.querySelector('forcegenerated-adgrollup_component___forcegenerated__flexipage_recordpage___opportunity_record_page___opportunity___view').shadowRoot.querySelector('forcegenerated-flexipage_opportunity_record_page_opportunity__view_js').shadowRoot.querySelector('records-lwc-detail-panel').shadowRoot.querySelector('records-base-record-form').shadowRoot.querySelector('records-lwc-record-layout').shadowRoot.querySelector('forcegenerated-detailpanel_opportunity___01224000000hqcmaac___full___view___recordlayout2').shadowRoot.querySelectorAll('lightning-formatted-text')[0]";"

 

jspath: "document.querySelector('one-record-home-flexipage2').shadowRoot.querySelector('forcegenerated-adgrollup_component___forcegenerated__flexipage_recordpage___opportunity_record_page___opportunity___view').shadowRoot.querySelector('forcegenerated-flexipage_opportunity_record_page_opportunity__view_js').shadowRoot.querySelector('records-lwc-detail-panel').shadowRoot.querySelector('records-base-record-form').shadowRoot.querySelector('records-lwc-record-layout').shadowRoot.querySelector('forcegenerated-detailpanel_opportunity___01224000000hqcmaac___full___view___recordlayout2').shadowRoot.querySelectorAll('lightning-formatted-text')[0]"

 

tagname: "lightning-formatted-text"

I have been trying to get the text of the field using:

public void getOptyName2(){

 

      

 

        String queryString = "return document.querySelector('one-record-home-flexipage2').shadowRoot.querySelector('forcegenerated-adgrollup_component___forcegenerated__flexipage_recordpage___opportunity_record_page___opportunity___view').shadowRoot.querySelector('forcegenerated-flexipage_opportunity_record_page_opportunity__view_js').shadowRoot.querySelector('records-lwc-detail-panel').shadowRoot.querySelector('records-base-record-form').shadowRoot.querySelector('records-lwc-record-layout').shadowRoot.querySelector('forcegenerated-detailpanel_opportunity___01224000000hqcmaac___full___view___recordlayout2').shadowRoot.querySelectorAll('lightning-formatted-text')[0]";

 

    JavascriptExecutor js=(JavascriptExecutor)driver;

 

    String oppname = js.executeScript("return document.querySelector('one-record-home-flexipage2').shadowRoot.querySelector('forcegenerated-adgrollup_component___forcegenerated__flexipage_recordpage___opportunity_record_page___opportunity___view').shadowRoot.querySelector('forcegenerated-flexipage_opportunity_record_page_opportunity__view_js').shadowRoot.querySelector('records-lwc-detail-panel').shadowRoot.querySelector('records-base-record-form').shadowRoot.querySelector('records-lwc-record-layout').shadowRoot.querySelector('forcegenerated-detailpanel_opportunity___01224000000hqcmaac___full___view___recordlayout2').shadowRoot.querySelectorAll('lightning-formatted-text')[0].innerHTML").toString();

 

        

 

            System.out.println("Opportunity Name: "+oppname);

The code fails with erorr "org.openqa.selenium.JavascriptException: javascript error: Cannot read property 'shadowRoot' of null"

I'm new to test automation and I'm currently using Selenium Webdriver. 

I would be really grateful for any help, if anyone knows how to the LWC plugin to interract with LWC elements

2 respuestas
  1. 5 oct 2020, 16:43
    Hi Jayson,

     

    Thank you very much for the pointer. I'll try there.
0/9000