Jump to content

Name of ID (HTML): Button, input etc.


ZigZig

Recommended Posts

Hello everybody,

 

I'm doing some testing with Selenium WebDriver. 
 
Unigui / ExtJS generate html names automatically for id(s): button, input etc.. 
 
eg
 
O38_id 
 
or 
 
id="tab-1048-btnInnerEl" unselectable="on">.

 

I would like to give a name to these ids (eg MyButton1 instead of  O38_id).

 

 Is there any way to do this.

 

Thank you.

Link to comment
Share on other sites

Hi,

 

maybe this will help also. This is python code for clicking buttons and filling edit boxes:

 

 

def uni_set_element_text(driver, element_name, element_text ):
    try:
        s = "//table[contains(@class, '" + element_name + "')]//input[contains(@id, 'inputEl')]"
            
        driver.find_element_by_xpath(s).clear()
        driver.find_element_by_xpath(s).send_keys(element_text)
    except NoElementPresentException as e: return False
    return True

def uni_click_label(driver, element_id):
    try:         
        s = "//label[contains(@id, '" + element_id + "')]"
        
        driver.find_element_by_xpath(s).click()
        #driver.find_element_by_id(element_id).click()
        
    except NoElementPresentException as e: return False
    return True

def uni_click_button(driver, element_name):
    try:         
        s = "//a[contains(@class, '" + element_name + "')]//span[contains(@id, 'btnEl')]"
        
        driver.find_element_by_xpath(s).click()
    except NoElementPresentException as e: return False
    return True

def uni_click_pgc_tab(driver, page_control_name, element_caption):
    try:         
        s = "//div[contains(@class, '" + page_control_name + "')]//span[contains(@id, '-btnInnerEl') and .//text()=" + element_caption + "]"
         
        driver.find_element_by_xpath(s).click()
        #driver.find_element_by_id("tab-1013-btnInnerEl").click()
        
    except NoElementPresentException as e: return False
    return True
 

 

On Server side i have:

 

procedure TUniForm.UniFrameCreate(Sender: TObject);
begin
  Button.JsControl.Cls := Self.Name + '.' + Button.Name;
  EditBox.JsControl.Cls := Self.Name + '.' + EditBox.Name;
end;
 

 

Saved me lot of typing in testing

 

 

Regards,

Zlatko

 

  • Upvote 1
Link to comment
Share on other sites

Hi,

 

maybe this will help also. This is python code for clicking buttons and filling edit boxes:

 

 

def uni_set_element_text(driver, element_name, element_text ):

    try:

        s = "//table[contains(@class, '" + element_name + "')]//input[contains(@id, 'inputEl')]"

            

        driver.find_element_by_xpath(s).clear()

        driver.find_element_by_xpath(s).send_keys(element_text)

    except NoElementPresentException as e: return False

    return True

 

def uni_click_label(driver, element_id):

    try:         

        s = "//label[contains(@id, '" + element_id + "')]"

        

        driver.find_element_by_xpath(s).click()

        #driver.find_element_by_id(element_id).click()

        

    except NoElementPresentException as e: return False

    return True

 

def uni_click_button(driver, element_name):

    try:         

        s = "//a[contains(@class, '" + element_name + "')]//span[contains(@id, 'btnEl')]"

        

        driver.find_element_by_xpath(s).click()

    except NoElementPresentException as e: return False

    return True

 

def uni_click_pgc_tab(driver, page_control_name, element_caption):

    try:         

        s = "//div[contains(@class, '" + page_control_name + "')]//span[contains(@id, '-btnInnerEl') and .//text()=" + element_caption + "]"

         

        driver.find_element_by_xpath(s).click()

        #driver.find_element_by_id("tab-1013-btnInnerEl").click()

        

    except NoElementPresentException as e: return False

    return True

 

 

On Server side i have:

 

procedure TUniForm.UniFrameCreate(Sender: TObject);

begin

  Button.JsControl.Cls := Self.Name + '.' + Button.Name;

  EditBox.JsControl.Cls := Self.Name + '.' + EditBox.Name;

end;

 

 

Saved me lot of typing in testing

 

 

Regards,

Zlatko

 

Hi,

Thanks for sharing. Very helpful.

Regards. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...