oxygenhq / oxygen-ide Goto Github PK
View Code? Open in Web Editor NEWOxygen IDE
License: GNU General Public License v3.0
Oxygen IDE
License: GNU General Public License v3.0
oxygen cli 1.22.2 has been released but is not used in oxygen ide auto update
It is common to have structures like this:
<code><pre>
<a href="">
<div>
<p>some text</p>
</div>
<a/>
</pre></code>
It would be useful to generate inner text based locators when clicking on the link: //a[contains(text(), "some text")]
Or even better, something more precise like: //el[@id="someid"]/a[contains(text(), "some text")]
Where 'el' is some parent element with an ID.
As an example i would like to refer to this website https://www.espncricinfo.com/ when you hover on any element in the header tile the elements changes its text. Oxygen IDE on recording doesn't recognise this behaviour and the test waits and eventually fails.
Steps to reproduce:
Bug: The assert text is done on the first page instead of the page you are on!
No recording happening inside of a WebComponent's Shadow Root. Tried testing with WebComponents built with Stencil.js.
Once you click on an element inside of the ShadowRoot, only a click on the WebComponent is registered, not the element itself.
Also, I would like to expand this issue with the fact that web driver methods (like .click and .point) do not work inside of a ShadowRoot.
TBD
when Oxygen IDE is open it blocks the F5 key on the keyboard and it doesn't work in any other program.
Once I close Oxygen IDE, F5 key works again
OS: Windows 10
${}
and @{}
. Perhaps use same colour as for numeric values.
Combine assertText and assertValue in the right click menu. So It will determine the element type automatically and record either assertText or assertValue depending on the element type.
Bug: the test run appears but it does not show passed or failed status
Appium server should be bundled within the IDE and automatically launched similarly to Selenium server.
At the very least, when hovered over a variable, the current value and the object type should be shown in a tooltip.
Till a fixed version of GeckoDriver is released, downgrade GeckoDriver to v0.24.0.
I changed some folder name and the files inside became empty from content.
To restore the files I changed the name of the folder back to the previous name.
See comment inside background.js.
This is a side effect of fixing OI-427.
When re-recording a test in Oxygen, I want to have a checkbox in the toolbar, that will allow me to run the current steps until the end of the test and keep CHROME open in record mode so I will not have to perform all the initial steps before my recording.
The checkbox will allow me to choose:
A. will I manually perform all initial steps and then record
B. I will run theese steps in the test (because they are already there) and then record
I don't know why but the Recording option is not available for me.
it looks like the attached screenshout
:
When i'm trying to click on it, i'm getting the following error:
Unable to connect to Oxygen Chrome extension.
In order to record web sites Chrome must be running and Oxygen extension for Chrome installed & enabled.
Needless to say, that the extension is installed & enabled,
Thank you.
This is an example issue to see the process of issues running into the system. When you get this, pls contact me @ [email protected]
Add a new button which will allow running tests in headless mode. I.e. instead of forcing the users to manually set the relevant capabilties:
web.init(
{
chromeOptions: {
args: ['--headless']
}
});
Note:
This will work for Chrome only. But should also work when a user selects to run in Responsive mode as well.
BUG: Dialog pops up and says extension not exist on computer .
TEXT: "Tests Recording Support"
Enable a mobile device screencast as part of Oxygen IDE
When the user connects his device to the PC he will see the device's screen in the IDE.
Add UI allowing users to define the order of recorded locators.
E.g. User should be able to select Xpath to have higher preference over CSS for example and vice versa.
I would like to customize the list of browsers.
I notice it is possible to switch between "Web mode", "Mobile mode" and "Responsive mode"
But i need specific capabilities: acceptSslCerts and acceptInsecureCerts
I have not found any configuration file for that.
It also tried with a code approach
A/ Using init method
web.init({browserName:'firefox',acceptSslCerts:true,acceptInsecureCerts:true});
(by the way, the documentation of the caps
parameter gives 'string' but it is an object
https://github.com/oxygenhq/oxygen/blob/dff2a342a625ec1904a28de8da1b109f262ebe76/src/ox_modules/module-web.js#L109 )
B/ Hacking the caps variable
web.caps = web.caps || {};
web.caps.acceptSslCerts=true;
web.caps.acceptInsecureCerts=true;
But in both cases those parameter does not seems to be used.
It seems it is overriden by the Oxygen IDE.
Caps for dealing with permission popups:
Caps for dealing with unicode keyboards (i.e. Hebrew input issue):
Need to check the effects of each of those. And also should add appropriate caps (show checkboxes?) based on device type Android vs iOS
Full reproduction video, additional screenshots, and detailed documentation are available and can be supplied upon demand.
Test Incident Report. 25/05/2021
Test Incident Report Identifier: Oxygen_IDE_1.23.1_2021-05-24_22-44-31_js_confirm_alerts_recording
Bug title: Mistyped web.alertAccept() and web.alertDismiss() functions during automation recording.
Summary: In Oxygen IDE, during automation recording of Alert response family functions on JS confirm() alert box function, the result of automatic recording included incorrect names of web.alertAccept() and web.alertDismiss() – of alert family functions – mistyped by mechanics of recording. Result consisted of web.acceptAlert(); instead of web.alertAccept() ; and web.dismissAlert(); instead of web.alertDismiss(); respectively.
Supporting materials:
“TestIncidentReport_[Oxygen_IDE_1.23.1_2021-05-24_22-44-31_js_confirm_alerts_recording].docx” – this document.
“js_confirm_web_alert_record_bug.js” – sample automatic js test procedure case recorded in Oxygen ID.
“alert_test03.html” – HTML file with sample code that has been tested to reproduce the bug.
“Oxygen_IDE_2021-05-24 22-44-31.mp4” – sample video of recording and discovering the bug.
Testing environment:
One PC laptop with licensed OS Windows 10 Pro x64 (IIS service installed and running), licensed Office2016, Chrome browser with Oxygen extension, Oxygen IDE.
Hardware specs:
Device name Dell Latitude E5550
Processor Intel® Core™ i7-5600U CPU @ 2.60GHz 2.59 GHz
Installed RAM 16.0 GB (15.9 GB usable)
System type 64-bit operating system, x64-based processor
Pen and touch No pen or touch input is available for this display
OS specs:
Edition Windows 10 Pro
Version 20H2
Installed on 14/07/2020
OS build 19042.985
Experience Windows Feature Experience Pack 120.2212.2020.0
Browser specs:
Google Chrome
Google Chrome is up to date
Version 90.0.4430.212 (Official Build) (64-bit)
Oxygen IDE specs:
Additional OS and SW specs:
Installed Windows features:
IIS localhost support service:
Test Procedure steps used to discover the incident :
Ensure that all the test are performed in this initial state:
running PC;
running OS;
logged in local test user (int) without administrative privileges (assigned to Users local group);
running IIS service (installed by the PowerShell command: “Enable-WindowsOptionalFeature -Online -FeatureName “IIS-DefaultDocument” –All”);
installed and running Oxygen IDE;
installed and running Chrome browser;
installed and enabled/active Oxygen IDE extension (Script recorder for Oxygen Framework.);
file “alert_test03.html” is placed in the IIS localhost www-root directory (“C:\inetpub\wwwroot\alert_test03.html”).
Switch to Oxygen IDE and start recording.
Switch to Chrome browser and go to “http://localhost/alert_test03.html”
Press the " Try it 1" button.
Press the OK button.
Press the " Try it 1" button.
Press the “Cancel” button.
Switch to Oxygen IDE and stop recording.
Save file.
Press “Run”
Check to receive the expected message: “Test finished with status --> PASSED.”
Repeat steps 1-11 enough cycles if necessary.
Test Case Specifications that will provide the information to repeat the incident :
If: User is recording an automation testing sequence in Oxygen IDE.
When: User invokes alert box of confirming type by clicking on the suitable HTML element and subsequently accepting and dismissing the alert box. The Oxygen IDE is recording corresponding web.alertAccept() and web.alertDismiss() functions accordingly.
Then: Running the recorded script in Oxygen IDE resulted in a successfully performed test run.
Expected result:
Receiving the expected message:
"
Test finished with status --> PASSED.
"
Actual results:
Receiving the script error message:
"
SCRIPT_ERROR - web.acceptAlert is not a function at C:\Users\int\Downloads\oxygen_works\oxygen_IDE_bug\js_confirm_web_alert_record_bug.js line 10
Test failed: [SCRIPT_ERROR] “web.acceptAlert is not a function” at oxygen_IDE_bug\js_confirm_web_alert_record_bug.js line 10
Test finished with status --> FAILED.
"
Test logs showing the actual execution of the test cases and procedures :
Recorded in included video file “Oxygen_IDE_2021-05-24 22-44-31.mp4”
Incident description:
In Oxygen IDE, during automation recording of Alert response family functions on JS confirm() alert box function, the result of automatic recording included incorrect names of web.alertAccept() and web.alertDismiss() – of alert family functions – mistyped by mechanics of recording. Result consisted of web.acceptAlert(); instead of web.alertAccept() ; and web.dismissAlert(); instead of web.alertDismiss(); respectively.
As result of running such code the “SCRIPT_ERROR” message is displayed, addressing the mistyped functions - by “is not a function” phrase - signifying that system have not recognized the recorded function name.
The state of browser after the failure of the script:
When incorrect names switched to the correct ones, the test behaved as expected.
Reported by tester: Vladimir Amir.
Observed by: Shay Ginsbourg.
Impact:
In small projects, this bug might not be a problem because it is easy to change the names manually.
In large projects, however, this bug might not be immediately perceivable and multiple occurrences of triggering elements in tested system might create a need for a multiple refactoring of the recorded automation script.
Priority: Major
Severity: Minor
The code of the file under test is in the
Vladimir_oxygen_IDE_1_24_0_bug.zip
appendix.
Appendix: Text of the code under test in “alert_test03.html”
JavaScript Confirm Box
Try it 1
Click the button to display an alert box.
Try it 2
Enter No:
Hey,
Start working with the IDE today.
Every time the test fails the IDE get stuck.
It is a common bug? any ideas?
More info,
i run it on ubuntu, on chrome.
Would like to help to fix it.
:)
Chen
In the IDE - try 5 different predefined ports. E.g: 7778, 7779, 17778, 17779, 27778
In the extension - try connecting to each port, once connected use it for communication.
Attempting to install Oxygen IDE 1.18.0 on a Windows 10 laptop with OpenJDK 11.0.2 installed fails with the error message:
Java Runtime Environment not installed. Please download and install JRE 8 from: https://www.java.com/en/download.
Corporate rules do not allow use of Oracle's version of Java and there doesn't appear to be an option to install the Oxygen IDE with an open source version.
The problem: old version of the file content is shown
BUG: can not delete it, right clicking it only lets me copy it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.