"a href" Tag with WatiN - tags

How can I click on the link defined by the tag "a href="#" onclick="pesqResp();"> Search " using WatiN?
Form verifies that the ID exists, if yes shows the form again with the employee's name, if not shows form again with error message

You can use Class or Id to find the link the command to click on link is:
browser.Eval("$('.ClassNameHere').click();");

How about:
browser.Link(link => link.Text == "Search").Click();

Link(link => link.Text == "Search").Click(); this works saved lot of time!

Related

sap.uxap.ObjectPageLayout: How to set default section page on load?

I am using the sap.uxap.ObjectPageLayout with a bunch of ObjectPageSections. I would like to have the first section being displayed whenever I open the view containing the ObjectPageLayout. I have seen that there is association selectedSection but it needs a value of type sap.uxap.ObjectPageSection. Settings the ID of the first section does not help. So what am I supposed to enter there?
I guess you'll need to set it when you enter the route again of your ObjectPageLayout. Then this.byId("objectPageLayout").setSelectedSection(this.byId("sectionId")) should work.
You can pass the ID of the section in the XMLView as well, despite the API reference saying that the association awaits an object of type sap.uxap.ObjectPageSection.
<uxap:ObjectPageLayout selectedSection="firstSection">
<uxap:ObjectPageSection id="firstSection">
selectedSection: The section that is selected by default on load.

give fetched data value to the xpath field in selenium [duplicate]

When I enter text into the text field it gets removed.
Here is the code:
String barcode="0000000047166";
WebElement element_enter = _driver.findElement(By.xpath("//*[#id='div-barcode']"));
element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys("barcode");
Agree with Subir Kumar Sao and Faiz.
element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys(barcode);
I had a case where I was entering text into a field after which the text would be removed automatically. Turned out it was due to some site functionality where you had to
press the enter key after entering the text into the field. So, after sending your barcode text with sendKeys method, send 'enter' directly after it. Note that you will have to import the selenium Keys class. See my code below.
import org.openqa.selenium.Keys;
String barcode="0000000047166";
WebElement element_enter = driver.findElement(By.xpath("//*[#id='div-barcode']"));
element_enter.findElement(By.xpath("your xpath")).sendKeys(barcode);
element_enter.sendKeys(Keys.RETURN); // this will result in the return key being pressed upon the text field
I hope it helps..
Use this code.
driver.FindElement(By.XPath(".//[#id='header']/div/div[3]/div/form/input[1]")).SendKeys("25025");
It might be the JavaScript check for some valid condition.
Two things you can perform a/c to your requirements:
either check for the valid string-input in the text-box.
or set a loop against that text box to enter the value until you post the form/request.
String barcode="0000000047166";
WebElement strLocator = driver.findElement(By.xpath("//*[#id='div-barcode']"));
strLocator.sendKeys(barcode);

using Ajax , dropdownlist and page validation

using Ajax I filled Country, State and city dropdownlist. On land change state is filled and on state change city is filled properly.
Then when I try to save page I face this :Invalid postback or callback argument.
Searched and found out that this is due to change in ddl.selectedvalu change from initial value that is assigned by asp.net.
Now my question is that how can I let asp.net know that the new ddl value is valid?
Thank you.
In many pages it is recommended to use EnableEventValidation="false", but I prefer not to use it.
Some say that use Render and add value to notify .Net like this:
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
ClientScript.RegisterForEventValidation("ddlLanguages ", "English");
ClientScript.RegisterForEventValidation("ddlLanguages ", "Tamil");
ClientScript.RegisterForEventValidation("ddlLanguages ", "Hindi");
base.Render(writer);
}
but how to use it? where to put it?
for a better understanding I put here a sample code including Database script :
hesab20.com/DownLoad/Ajax.zip
in this sample Javascript is used to fill drop-down list . But when click button is executed and a post back occur, error happen.
Please help if you have experience with this.
Regards.
Please run the sample code and change the drop down lists , automatically the other is filled , meaning that list item text and value is completely changed. finally click button for a post back.
you must see that error happens:
Invalid postback or callback argument. Event validation ....
and note : EnableEventValidation="true"
Thanks

javascript in zend_Form_Element_Text

I have an autocompexion app. that works. Server side written in php (search.php)
. Client side in javascript (autocomplexion.js).
In a text field this helps to enter town name by giving towns names that starts with the same letters that are entered in the field.
search.php sort a list of towns in towns.txt and choose the ones that match.
autocomplexion.js helps to select among those proposed towns.
My issue :
In Zend i would use this in a form (zend_Form) in a text field created with Zend_Form_Element_Text.
How do i link this field with autocomplexion.js and search.php.
where do i put search.php and autocomplexion.js
Thanks for your answer
Patrick
Write the PHP search function in an Action in an appropriate controller. Point the JS to this action and I think you are done.

Joomla Form Field User Front End

I am trying to use JFormFieldUser::getInput as an input to my Joomla forms.
In the backend (logged in with the super user), when I call this method, it produces a nice 'select user' box when clicked displays a list of all users to chose from.
I have been trying to use the User form field on a front end form (logged in with the super user). The result is some what confusing and undesirable. A 'select user' link is produced, but when clicking on it, the result is that the super users, 'User profile' is loaded up: not a list of all users.
Why is this, and how can i make 'select user' show the full list of users like it does in the backend.
Joomla 3 (from your field definitions):
<field name="field_name" type="sql" label="COM_FIELD_LABEL"
sql_select="id,name"
sql_from="#__users"
value_field="name"
key_field="id"
description=""
header="DROP_DOWN_HEADER"
required="false" />
Apparently it can't be done
The JForm (Joomla) User field is the Joomla core field that you can
see in Joomla article form to select a user (lightbox with list of
user). Becareful this field can not be used on front-end because
Joomla core don't manage it on front-end... Often we replace this
field on front end with a select dynamic field.
I didn't have much luck with this. Instead I created my own component and added in the content from com_users. Worked a treat.
Can be done fairly simply but with some significant limitations - depending on your use case.
User must be logged in to backend (even if you are trying to access the information frontend). If they are not logged in, it will prompt for log in and break out of the modal :(
User must have permissions for User Manager
Then duplicate the \libraries\cms\form\field\user.php to a fields location of your choice (in a modal subdirectory) and rename it to something like user2.php. Make the class name JFormFieldModal_Users2 and the $type='Modal_Users2'.
Don't forget to add the new path to your form .xml if required. The type will be "modal_users2".
Last step. In user2.php, change:
$link = 'index.php?option=com_users&view=users&layout=modal&tmpl=component&field=' . $this->id
. (isset($groups) ? ('&groups=' . base64_encode(json_encode($groups))) : '')
. (isset($excluded) ? ('&excluded=' . base64_encode(json_encode($excluded))) : '');
to
$link = 'administrator/index.php?option=com_users&view=users&layout=modal&tmpl=component&field=' . $this->id
. (isset($groups) ? ('&groups=' . base64_encode(json_encode($groups))) : '')
. (isset($excluded) ? ('&excluded=' . base64_encode(json_encode($excluded))) : '');
A bit hacky, but served my purposes.
Less hacky, but less glamorous solution here: The SQL formfield type