Giter VIP home page Giter VIP logo

firerobot's People

Contributors

joao-carloto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firerobot's Issues

Replace test steps by existing keywords

  1. Click somewhere to select a resource file and automatically add it's path to the Resources section.
  2. Every time we add steps to the script, FireRobot would check if part of the script corresponds exactly to some existing keyword and automatically replace the steps (if such option is enabled).

This might be difficult to implement, not too reliable and possibly on the heavy side in terms of processing. But it's worth looking into it.

Stop using the Sel2lib-java jar

Reasons:

  • The Sel2lib-java (with all dependencies packed) is very big (54MB) and bloats the extension a lot.
  • It does not support the ff_profile_dir parameter in the Open Browser keyword, and I would like to build a FireRobot feature on top of this.
  • The Python Sel2Lib project seems to be bigger and with possibly a better long term support.

Options:

  • Give up on the "Out of the box" concept and rely on people having Python, RF and Sel2Lib already installed (make link to RF quick start guide). This option would also imply giving up on RF jar and make the extension small enough to apply for the Mozilla repository. This would also make tests faster to start running (known Jython issue).
  • Pack everything into one jar and rely on Jython 2.7-beta3 to run the Python Sel2Lib. I made some preliminary tests. It kinda works, but is slow to start running and there are some error messages. Not sure if I could trust the compatibility with Jython 2.7-beta3 without extensive testing (which I do not have time for).
  • Make executables for each main OS using Pyinstaller. Not sure, at this time, if it's feasible. Would require a considerable effort and testing.

I'll probably go for the first option.

Use defined variables when clicking/editing links

Similar to what is being done when filing out text boxes or verifying text, when we add a step of type "Click Link " or "Page Should Contain Link ", we should check if a variable exists with the desired value, and use it (if option is enabled).

Load keywords table from test file

Not sure if it's a good idea. The available space is limited, specially when using the sidebar mode.
Collapse this table by using a splitter element.

Extract keyword issue when step has more than one variable

E.g. if the step is "${Replace} Remove String ${Values}".
The [Arguments] line will have "${Replace} Remove String ${Values}" instead of "${Replace} ${Values}".
Basically the regex used is not appropriate.
This might be relevant with manually edited steps, not steps added automatically with FireRobot (considering the currently supported Sel2lib keywords on the context menu).
Spotted on v1.0.7.

Make saving files safer (for files edited elsewhere)

The main use case for FR would be creating new test scripts, exporting them in the form of keywords and then integrate those resources in a test project managed elsewhere (RIDE, InteliJ, etc). However, the Load and Save buttons only assume the existence of 3 types of sections: Settings, Variables and Test Cases. When loading and saving a file, any other section will be discarded. This brings the danger of eliminating information added elsewhere (e.g. a Keywords section in the same file).

Variables declared inside keyword included in [Arguments]

The [Arguments] section of a new keyword is including variables declared inside the keyword.
This might be relevant with manually edited steps, not steps added automatically with FireRobot (considering the currently supported Sel2lib keywords on the context menu).
Spotted on v1.0.7.

XPath to locate SVG does not work

This doesn't seem to be a specifc issue of FireRobot.
Something like .//svg also doesn't work in Firepath
The solution seems to be the usage of something like .//*[local-name() = 'svg']

Problem with &nbsp in link text

Element.textContent will replace &nbsp with \u0020 instead of \u00A0.
This is an old bug on Firefox described here: https://bugzilla.mozilla.org/show_bug.cgi?id=359303.
A test step of type "Page Should Contain Link " will always fail if we have &nbsp inside the link text.
The problem was "solved" in text verifications (Page Should Contain) by splitting the verification into several steps.
The same strategy won't work with "Page Should Contain Link ".

Not sure how to solve this without a fix by Mozilla.

Context menu doesn't open on different browser instance

Steps to reproduce:

  1. Open FR in float mode.
  2. Open new Fiefox browser instance but leave FR window open
  3. Click the "Select mode" button while having the new FF instance as the latest focused window.
    R: You get the dashed border, you can select stuff but the context menu does not open.

js error: contextMenu.openPopupAtScreen is not a function select.jsm:250

Necessary to open the test report manually in Linux and OS X

After the test suite is run, the test report won't open automatically in Linux and OS X.
This is probably a limitation of nsIProcess and the runAsync() method.
The observer returns immediately as if the test run is finished. At that point there is no report.

Create new keywords based on selected test steps

  1. Highlight/select part of the generated test script.
  2. Click somewhere to create a new keyword based on the selected steps.
  3. Add the new keyword name.
  4. Select the .txt/.robot resource file to add the new keyword.
  5. Click OK.
  6. The new keyword is added to the end of the resource file.
  7. The resource file is automatically added to the Settings section on FireRobot (if not yet included).
  8. The test steps, on FireRobot, are replaced by the keyword (if option is enabled).

Reference to working test file not removed

When closing and opening FireRobot, while maintaining the same browser instance, the reference to the last working file is not removed.
This leads to potencial file overwrite when clicking on "Save".

Invalid XPath generated for element of gaming page

setup1: firefox 19/win7x64
setup2: firefox 32/macosx 10.9

problem:
Navigate to e.g. www.sme.sk; www.mmo-champion.com; (literally any webpage)
I started FireRobot
Pressed Select Elements # whole page is outlined
I can't select any element on this page # from time to time, popup with information that tells me that 'we are unable to create xpath to element' appears

What Am I missing?

Use space instead of tab for test step indentation

The FR editor does not allow inserting the tab char (\t). The tab key is used to change the focused element. So, to align manually edited test steps we will have to use spaces.
The \t representation is not the same in all text editors. The result is that when editing the test outside FR the steps may be misaligned, due to a mix of \t (added automatically) and spaces.
Replace \t by 4 spaces.

Absent toolbar icon breaks the selection mode

Issue:

The FireRobot add-on can be activated, however selecting the elements on the page does not populate the 'HTML' or 'Test Cases' windows. Right clicking on an element does not bring up the context window.

Notable is once the add-on is closed, all items on that TAB remain inaccessible changing to another TAB on the same browser window and right-clicking on an element now brings up the FireRobot context window. Selecting one of the context items presents the following message:

Warning!
There are no selected elements.

I've installed v1.0.5 on the following systems:
OSX 10.9.4, FF 31.1.0 (ESR)
Ubuntu 14.04 FF 30.0
WIndows 7(64) FF 31.1.0 (ESR).

I tested with the following website, http://www.wufoo.com/gallery/templates/registrations/workshop-registration/, to eliminate the possibility that the website is not fully loading the page.

In the Browser Console, I seeing the following messages when I attempt to select elements and right-click on them:

reflow: 0.18ms
selectedElements is undefined select.jsm:301
reflow: 0.2ms function _calcMouseTargetRect, tabbrowser.xml line 4993
reflow: 0.21ms
browserWindow is null select.jsm:249
selectedElements is undefined select.jsm:312

Add .robot file extension

At the moment it supports only .txt and .text but since .robot is the new official robotframework file extension, the option should be made available.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.