I see what you are saying. Having an "under the hood" page. We could also 
reference Alex's Watizzle implementation.
I don't think we'd want that on the main location page, because for most 
people it matters the what of the things you can do, not as much the how of 
its implementation.

Also, for reference, we've added logging that allows you to better see what 
the underlying xpath translation is:
`Watir.loger.level = :debug` and it will show each translation.


On Saturday, August 12, 2017 at 2:30:35 PM UTC-5, Raja gopalan wrote:
>
> *"Yes, I have written about my desire for users not to need to know XPath 
>> before: http://watir.com/watir-6-2/#adjacent-element-location 
>> <http://watir.com/watir-6-2/#adjacent-element-location>"*
>
>
> Yes, I have read that, but that doesn't detail much, I am talking about 
> explaining what kind of xpath a particular WATIR code would form, So that 
> it would be useful, for an example,
>
> If I write 
>
> b.span(id: 'something').click
>
> This one doesn't form any xpath
>
> But this one
>
> b.span(text: 'something').click
>
> and 
>
> b.element(text: 'something').click
>
> creates the below two selenium code with xpath respectively. 
>
> driver.find_element(xpath: "//span[normalize-space()='something']).click
>
> and
>
> driver.find_element(xpath: "//*[normalize-space()='something']).click
>
>
> So one who knows what WATIR does behind the scene can write the better 
> code. And this should be explained in detail. 
>
>
>
> On Sunday, August 13, 2017 at 12:23:32 AM UTC+5:30, Titus Fortner wrote:
>>
>> Yes, I have written about my desire for users not to need to know XPath 
>> before: http://watir.com/watir-6-2/#adjacent-element-location
>> That framing did not end up in the documentation updates I just made, but 
>> likely deserves to be added.
>>
>> Ideally that one page on element location gets split out into 10 pages 
>> (one for each of the unique Watir locators), with thorough exploration of 
>> examples and working code. 
>> https://github.com/watir/watir.github.io/issues/101
>>
>> I'm tentatively thinking about pulling in all of the html code we use in 
>> our watirspecs onto the website, in order to have static pages to write 
>> examples with. We could then copy and paste a lot of existing code in the 
>> specs.
>>
>>
>>
>>
>> On Saturday, August 12, 2017 at 11:12:54 AM UTC-5, Raja gopalan wrote:
>>>
>>>
>>> Hi Titus,
>>>
>>> I read your recent document addition in WATIR site, it's looks great for 
>>> a new comer. but,
>>>
>>> I believe one of the biggest area WATIR has the advantage over Selenium 
>>> is, It's capacity to eliminate the xpath conversation, but how and when it 
>>> happened, it's not explained anywhere, I debugged the WATIR code and 
>>> understand it by myself.  So a newcomer might not be aware of such an 
>>> wonderful feature. 
>>>
>>> For an example,
>>>
>>> WATIR has never go for framing the xpath if the received locator is 
>>> available in selenium but it goes to create the xpath  if the given locator 
>>> is not available in selenium. And I believe this has to be explained. For 
>>> an example, there are some key points has to explained which I cited below, 
>>>
>>> If I write this code
>>>
>>> b.span(id: 'something').click
>>>
>>>
>>> it's completely equivalent to writing
>>>
>>> b.element(id: 'something').click
>>>
>>>
>>> calling span() function useless in this place because as soon as WATIR 
>>> sees the id it immediately goes to call the find_element function directly 
>>> by taking id locator like given below
>>>
>>> driver.find_element(id: 'something').click
>>>
>>> So wrapping up using span is useless here, I agree there are certain 
>>> places it's useful when someone wants to call specific function, so in this 
>>> case the required receiver is important like
>>>
>>> b.element(id: 'something').send_keys 'hi'
>>>
>>> With the above code one can't call set function, unless he calls the 
>>> text_field() function like
>>>
>>> b.text_field(id: 'something').set 'hi'
>>>
>>>
>>> But in most of the cases it's not useful to call such a specific 
>>> function, but you may ask me like it anyhow is going to do the same job 
>>> then why we need to bother about that? Actually when we invoke this way 
>>>
>>> b.span(id: 'something').click
>>>
>>> People might not be knowing the specific importance of calling span 
>>> function using WATIR, for an example, WATIR does a amazing Job if it's 
>>> called as given below
>>>
>>> b.span(text: 'something').click
>>>
>>> Here text locator is not available in selenium so WATIR is going to 
>>> create the xpath using the above code like
>>>
>>> driver.find_element(xpath: "//span[normalize-space()='something']).click
>>>
>>> Now the importance of calling b.span() becomes very clear and it's not 
>>> useless here, but such an important information is not available anywhere 
>>> So if it's included in the document, it would be great! 
>>>
>>> What do you say?
>>>
>>

-- 
-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com

--- 
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to watir-general+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to