I'm trying to automate selecting a dropdown in selenium ide, but I haven't been able to get it to work.
Basically, I record a click on the menu item, which reveals the drop down, but whenever I use the click command on one of the options, it closes the menu without ever selecting the new option. I've also tried the select command but I keep getting "specified element is not a select"
any ideas?
Selenium should be returning a single action when interacting with HTML select elements.
For example, if I had the following select element
<select name="numbers">
<option value="One">1</option>
<option value="Two">2</option>
<option value="Three">3</option>
</select>
And selected "2", selenium should return a single action.
| Command | Target | Value |
| select | name=numbers | label=Two |
If the IDE is not recording the event, you may be running into another issue such as the element being defined as hidden. Without additional details though, it's really hard to say.
Right click on the page and view source. The drop down options should be listed. Also the target name. You can then manually create the command. Don't do the first Item in the list. Pick like the third one first and test.
Once you have a single one working cut and paste it into notepad. Get the listing from the View Source and copy the line replacing the value. Copy and paste back in to Selenium on the Source tab.
Related
Let's say I've got the following code
<div class="footer">
<div>Foo</div>
</div>
How can I change .footer from a div element to a footer element?
That is, if I have the cursor in div I'm looking for a keyboard shortcut that selects the opening and closing tags of an element. I believe I've used emmet to do this before in Sublime, but I can't seem to find similar functionality in Code. (Ideally this would work in JSX files too...)
Do you want to rename the paired tags? If yes, there is a much easier way: you just need to install the Auto Rename Tag extension. When you rename one HTML tag, it will automatically rename the paired HTML tag.
V1.41 is adding this functionality, see https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_41.md#html-rename-tags
HTML rename tags
You can now use F2 to rename the opening/closing tag pairs in HTML.
F2 when the cursor is over one of the tags and you will get a little input box with the cursor to input the new tag name and the start/end tags will be replaced with whatever you type upon .
See https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#html-mirror-cursor-off-by-default
Also of interest might be the "mirror tags" functionality just added in v1.41 as well (https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_41.md#html-mirror-cursor):
Clicking inside a tag will create another cursor in the matching start or end tag.
VS Code now adds a "mirror cursor" when you are editing HTML tags.
This behavior is controlled by the setting
html.mirrorCursorOnMatchingTag, which is on by default.
---------- v1.42 is changing the default status of the mirror cursor:
HTML Mirror Cursor off by default
We have made Mirror Cursor an opt-in feature. In the upcoming
iteration, we'll continue to improve its implementation to make this
feature more easily understandable and available to more languages.
You can still use this feature by turning on
html.mirrorCursorOnMatchingTag.
Thanks to JerryGoyal's answer below (I have upvoted it) - I have continued with this ongoing answer.
Because I have been tracking this for over half a year now, v1.44 has renamed this once again. From Synced Regions:
Synced Regions
We have improved the mirror cursor feature introduced last November
with a new implementation called Synced Regions. Currently this
feature is available for HTML and you can try it out by one of the
following ways:
Running the command On Type Rename Symbol on an HTML tag (bound to
Ctrl+Shift+F2 by default).
Turning on the editor.renameOnType setting and move the cursor to an HTML tag.
The red regions are Synced Regions. As their name suggests, any change
in one region will be synced to other regions. You can exit this mode
by either moving your cursor out of the regions or pressing ESC.
Additionally, typing or pasting any content leading with a whitespace
in any region exits this mode.
We look forward to providing an API that could make this
rename-on-type experience available to other languages such as JSX,
XML, or even local variables in TypeScript.
As that last part notes, it works in html out of the box but other languages need to implement themselves. As of June 2020 by my testing it still does not work in jsx files on embedded html tags.
You must enable this in your settings, it is off by default.
You can do this without an extension using Emmet Update Tag
Place your cursor in the opening tag
Press CTRL+SHIFT+P to open the command palette
Search for "Emmet: Update Tag" by typing something such as "em up t", and/or find it in the list
Press enter to select "Emmet: Update Tag"
Enter the new tag
Press enter
The opening and closing tag are updated to the new one.
Update Mar 2021:
No need for extension, this is now cooked into VSCode.
"editor.linkedEditing": true
Read more here: https://code.visualstudio.com/Docs/languages/html#_auto-update-tags
CTRL + D on windows. As mentioned by #tataata, CMD + D on Mac OS. Not limited to tag renaming. Very useful.
You can use a key shortcut cmd + D (Mac OS) for adding to the selection the next matching element and then there is a possibility to edit open and closing tags simultaneously.
I'm using tag-rename. Press F2 on the tag and it renames the start and close tags.
https://marketplace.visualstudio.com/items?itemName=krizzdewizz.tag-rename
Quick and Simple Select tool works fine too but though it is not perfect.
it has over 40k downloads
https://marketplace.visualstudio.com/items?itemName=dbankier.vscode-quick-select
it allows you to select tools
Ctrl + K ' select everything between single quotes
Ctrl + K " select everything between double quotes
Ctrl + K ` select everything between backticks
Ctrl + K ( select everything inside the parenthesis
Ctrl + K ) select everything inside parenthesis and include them
Ctrl + K [ or ] select everything between square brackets and include them
Ctrl + K { or } select everything between curly braces and include them
Ctrl + K < or > select everything between angle brackets and include
No need to write config codes, just enable it from settings page.
I am currently using Selenium IDE to test a website with a simple drop down menu that has options like "Trial" and "Invoice" and "Portal". I do not want to select the options, but just to make sure they are available. How would I do this in Selenium IDE?
I have tried commands like verifyselectedvalue, verifyselectedoptions and verifytext, and verifyvalue, but they seem to give me a positive no matter what I enter in as value, even "sdhjgfhsg."
I have checked previous posts on this topic, there are many close, but not quite what I am looking for.
Much thanks,
Ilya
Additional hint:
To test if an option is selected
just use "verify selected label" in Selenium IDE
Example:
verify selected label | id=abc | 23:59
I did a test using a website has css menu drop down and I found the answer.
Record your script clicking on the css menu (each one) to get the element and after, change the command "click" to "verifyText". After that, set the field value (Selenium IDE) the text that you can verify (e.g.: Trial, Invoice and Portal).
I did this:
1st field: Command
2nd field: Target
3rd field: Value
> verifyText | css=li.has-sub > ul > li > a > span | Trial
> verifyText | //div[#id='cssmenu']/ul/li[2]/ul/li[2]/a/span | Invoice
> verifyText | css=li.last > a > span | Portal
I am having a block of code in Eclipse IDE and I want to replace that with new block of code in the whole project, can any one help me out regarding this issue.
First consider to refactor the repeated code into a function and then you can easily find/replace the function name. It will save you a lot of work.
If its just one line of code, just click ctrl+H select the so it should search in your project, when eclipse finds all results right click on the search window and select "replace all".
If its more than one line of code, enable first regular expression search, so when you select the code and hit ctrl+H eclipse will convert your text to regex, then do the search and select replace all...
(in the search window, make sure to be in the "File Search" tab.)
I'm trying to select from a fancy select drop down menu, but for some reason i can't get the value to change. I've tried recording clicks, using the xpath with the click command, and now I'm trying to use the select command. None seem to work. Has anyone else encountered this/have any ideas about how to change the value of a fancy select?
If you have a select step defined, select (or selectAndWait) would be the Command, xpath=(your xpath) would be the Target, and the item you wish to select from the option list would be the Value. The Value can also be the index of the item in the list, where the topmost entry can be referenced by placing a index=0 as the Value:
select | xpath=[YourSelectElementXPATH] | ValueFromTheList
or
select | xpath=[YourSelectElementXPATH] | index=1
If you are able to include your step or the URL to the page in question, more specific assistance can be provided.
Good file comparison tools were already discussed to the pain, but my problem is more exotic. Is there any visual text comparison tool (like WinMerge) that would allow me easily do visual comparison on two sections within the same file?
I have multiple configurations within vcproj file and need to maintain them. It is a pain to do this manually -- splitting windows, scrolling character-by character. On top of that xml is very verbose and takes lots of screen real-estate. I cannot believe there is no tool to do automatic file section comparison, since this sounds like a very common problem.
Please, do not offer me to use property pages, I do not want more complexity, I want less. Splitting manually into files and then comparing them is also too medieval (I am doing this now anyways).
I use Beyond Compare (not free, but I think a shareware version is available). You can select the same file for left and right sides, then right-click the beginning of your section on each side and select "Align Manually". This would allow you to compare two sections of the same file relatively easily.
Overall, I highly recommend the product. I haven't tried version 3, which is what they currently have on their Web site, but version 2 is a fabulous tool. A+
Emacs Ediff.
I use UltraEdit for most of my text editing and they have a product called UltraCompare that does a visual compare.
Update by Mofi
UltraCompare Professional supports also a comparison of text snippets in addition to entire files.
After starting UltraCompare, select Text Compare in menu Mode if not already selected. Select in text editor the first text block which should be compared, press Ctrl+C, switch back to UC and paste with Ctrl+V the block into left text area pane. Switch again to text editor, select the other block in same file, press Ctrl+C, switch back to UC, click into right pane and paste the block with Ctrl+V. The two blocks are immediately compared and the differences are displayed.
Such a text snippet comparison for two blocks in same file can be started also directly from within UltraEdit. Select the first block in file, press Ctrl+C, Ctrl+N, Ctrl+V and Ctrl+A to copy, paste and reselect this block in a new file. Select the second block in file. Execute command Compare from menu File in UltraEdit with option Compare selected text automatically being enabled and click on button Compare. UC Professional is started with just the 2 selected blocks for comparison.
You can use Meld to do this
Open up meld without specifying file names
Meld with prompt which type of comparison you want. Choose file comparison
Meld will present the the icon to select the file names. Below that it will prompt for a Blank comparison. Choose that.
In the file comparison window, paste the sections of the file you want to compare.