Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serialize Selenium IDE code into CLI executable webdriver code #68

Merged
merged 86 commits into from
Jan 11, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
a6ec3ef
added jest env
corevo Dec 19, 2017
39fd0f8
basic tests
corevo Dec 19, 2017
050f5ab
added suite emitting
corevo Dec 19, 2017
5c99507
added empty testcase emitting
corevo Dec 19, 2017
90c5efd
emit suites with empty tests
corevo Dec 19, 2017
6e565d3
added je-beautify
corevo Dec 19, 2017
87cf4be
fixed suite tests
corevo Dec 19, 2017
bf835a5
upgraded jest
corevo Dec 19, 2017
1673377
test case lookup optimization
corevo Dec 19, 2017
e5ae29c
command emitting failures
corevo Dec 19, 2017
ad18082
emit open
corevo Dec 19, 2017
a6fe3c1
added click clickAt type and sendKeys emitting
corevo Dec 19, 2017
0e7f7ea
emit commands
corevo Dec 19, 2017
4010cf8
emits locators
corevo Dec 20, 2017
c7dc6e7
send keys and type are surrounded by quotes
corevo Dec 20, 2017
d61f43e
Added after and before
corevo Dec 20, 2017
3e61888
added an expect to make sure the test doesnt prematuraly ends
corevo Dec 20, 2017
a548325
added echo and double click commands
corevo Dec 20, 2017
eff698d
emit drag and drop to object
corevo Dec 20, 2017
5248b2b
added pause and execute script commands
corevo Dec 20, 2017
06d7975
fixed typo
corevo Dec 20, 2017
e99a658
added verify title and verify text commands
corevo Dec 20, 2017
55f545c
fixed pause command
corevo Dec 20, 2017
2f3585d
added assert title and assert text
corevo Dec 20, 2017
8cb4a02
added store storeText and storeTitle commands
corevo Dec 20, 2017
99fba95
support variables where able
corevo Dec 20, 2017
02e0d35
added name location emitting
corevo Dec 21, 2017
abb68f2
added selection locators
corevo Dec 21, 2017
7dc8177
Added select command
corevo Dec 21, 2017
c16554a
added add selection and remove selection commands
corevo Dec 21, 2017
1d55f42
select frame command
corevo Dec 25, 2017
a59bfe6
added select window command
corevo Dec 25, 2017
0ca0a90
mouse down and up commands
corevo Dec 25, 2017
10a190d
added mouse move, out, and over
corevo Dec 25, 2017
aab4c42
partial alert support
corevo Dec 25, 2017
ca0c227
test case error rejections
corevo Dec 26, 2017
e541160
added suite failure test
corevo Dec 26, 2017
3225850
Selianize error test
corevo Dec 26, 2017
fbb3b2b
lint selianize in ci as well
corevo Dec 26, 2017
4467b6d
added webextensions env
corevo Dec 26, 2017
6705d6e
added default confirm text
corevo Dec 26, 2017
f81c2e2
added more button
corevo Dec 26, 2017
3ef76b6
basic project export
corevo Dec 26, 2017
2c2104a
parse error to markdown
corevo Dec 26, 2017
880445d
added react markdown
corevo Dec 26, 2017
e343630
markdown styling
corevo Dec 26, 2017
acb5f17
download logs
corevo Dec 26, 2017
47869d4
added edit content command
corevo Dec 27, 2017
c1f4c84
added better location errors
corevo Dec 27, 2017
e9105c8
specify the number of random suites to create
corevo Jan 8, 2018
02b8aec
change the default project name
corevo Jan 8, 2018
f8bc203
added base url configuration
corevo Jan 8, 2018
9695eb8
added configuration emitting
corevo Jan 8, 2018
5adda84
where things begin
corevo Jan 9, 2018
cbec3f0
capabilities tests
corevo Jan 9, 2018
49ebf78
basic capabilities
corevo Jan 9, 2018
cd2d91a
parse value
corevo Jan 9, 2018
ef74000
parse capabilities string
corevo Jan 9, 2018
63767fd
allow spaces between =
corevo Jan 9, 2018
8ff3e64
add yaml parser
corevo Jan 9, 2018
182bc0b
added yaml parsing
corevo Jan 9, 2018
1043859
added commander
corevo Jan 9, 2018
e5bbe96
added babel
corevo Jan 9, 2018
100985f
dont use babelrc
corevo Jan 10, 2018
979668c
separated file from inline capabilities
corevo Jan 10, 2018
52440f5
parse configuration
corevo Jan 10, 2018
fde45f0
run jest
corevo Jan 10, 2018
338a64d
better logging
corevo Jan 10, 2018
fb6b105
engine and keywords
corevo Jan 10, 2018
faab8b5
ignore original sources
corevo Jan 10, 2018
cf31eef
move everything to packages
corevo Jan 10, 2018
8fe9955
added lerna
corevo Jan 10, 2018
76cf88c
split dev and prod deps
corevo Jan 10, 2018
1d0c604
updated peru
corevo Jan 10, 2018
06de262
project wide jest
corevo Jan 10, 2018
4e5fb5b
project wide lint
corevo Jan 10, 2018
ce7b232
fixed build scripts
corevo Jan 10, 2018
9abec65
Merge branch 'lerna' into runner
corevo Jan 10, 2018
3ff0592
Merge branch 'runner' into selianize
corevo Jan 10, 2018
11af3ee
support remote webdriver
corevo Jan 10, 2018
26f323d
build the driver using the runner
corevo Jan 10, 2018
fd79c25
define By and set default timeout
corevo Jan 11, 2018
0aebd83
filter by test name rather than by file name
corevo Jan 11, 2018
e6c8139
properly cleanup the drivers after the test
corevo Jan 11, 2018
1d1669c
added READMEs
corevo Jan 11, 2018
74a9181
added new line
corevo Jan 11, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ module.exports = {
"env": {
"browser": true,
"node": true,
"es6": true
"es6": true,
"jest": true,
"webextensions": true
},
"extends": ["eslint:recommended", "plugin:react/recommended"],
"parser": "babel-eslint",
Expand Down
13 changes: 7 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ node_modules
_MACOSX/
.DS_Store
build
src/selenium
src/atoms
src/webdriver
src/selenium-atoms
src/third_party
src/selenium-core-scripts
packages/selenium-ide/src/selenium
packages/selenium-ide/src/atoms
packages/selenium-ide/src/webdriver
packages/selenium-ide/src/selenium-atoms
packages/selenium-ide/src/third_party
packages/selenium-ide/src/selenium-core-scripts
.peru
.idea
.tern-port
Expand All @@ -17,3 +17,4 @@ selenium-ide.crx
yarn-error.log
dist/
.web-extension-id
*.log
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<img src="src/icons/icon128.png" alt="logo" height="128" align="right" />
<img src="packages/selenium-ide/src/icons/icon128.png" alt="logo" height="128" align="right" />

# Selenium IDE &middot; [![Build Status](https://travis-ci.org/SeleniumHQ/selenium-ide.svg?branch=master)](https://travis-ci.org/SeleniumHQ/selenium-ide)

Expand Down Expand Up @@ -31,14 +31,14 @@ Firefox users for the time being can download the latest `xpi` from the [release

## Building

- Install the dependencies
- Install the dependencies
```peru sync```
```yarn```
- Build the extension
```yarn build```
- Install as developer on [Google Chrome](https://developer.chrome.com/extensions/getstarted#unpacked) or [Firefox](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Temporary_Installation_in_Firefox)

Manifest located in `<Project Directory>/build/manifest.json`
Manifest located in `<Project Directory>/packages/selenium-ide/build/manifest.json`

## What now?

Expand Down
8 changes: 8 additions & 0 deletions lerna.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"lerna": "2.6.0",
"packages": [
"packages/*"
],
"version": "independent",
"npmClient": "yarn"
}
87 changes: 18 additions & 69 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,83 +1,32 @@
{
"name": "selenium-ide",
"version": "0.0.0",
"description": "An integrated development environment for Selenium scripts",
"repository": "[email protected]:SeleniumHQ/selenium-ide.git",
"license": "Apache-2.0",
"private": true,
"scripts": {
"start": "webpack-dev-server --hot",
"build": "webpack",
"build-prod": "rm -rf build && env NODE_ENV=production yarn build",
"build-chrome": "./build.sh build ./selenium-ide.pem 1>/dev/null && mkdir -p dist && mv build.crx dist/selenium-ide.crx && echo \"Wrote dist/selenium-ide.crx\"",
"build-firefox": "web-ext sign -s build -a dist --api-key=$AMO_JWT_ISSUER --api-secret=$AMO_JWT_SECRET --id=$(cat .web-extension-id)",
"start": "cd packages/selenium-ide && yarn start",
"build:ext": "cd packages/selenium-ide && yarn build",
"build:runner": "cd packages/selenium-side-runner && yarn build",
"build:ext:prod": "cd packages/selenium-ide && yarn build-prod",
"pack:chrome": "cd packages/selenium-ide && yarn build-chrome",
"pack:firefox": "cd packages/selenium-ide && yarn build-firefox",
"test": "jest",
"test-dev": "jest --watch",
"lint": "eslint src/neo/ --ext .js --ext .jsx"
"lint": "eslint packages/selenium-ide/src/{neo,selianize}/ packages/selenium-side-runner/src/ --ext .js --ext .jsx",
"postinstall": "lerna bootstrap"
},
"jest": {
"testMatch": [
"**/src/**/__test?(s)__/**/*.js?(x)"
"**/packages/**/src/**/__test?(s)__/**/*.js?(x)"
]
},
"devDependencies": {
"autoprefixer": "^7.1.4",
"babel-core": "^6.26.0",
"babel-eslint": "^7.2.3",
"babel-jest": "^21.2.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-decorators": "^6.24.1",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.6.0",
"babel-preset-react": "^6.24.1",
"classnames": "^2.2.5",
"closure-loader": "^0.4.0",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.7",
"eslint": "^4.6.1",
"eslint-plugin-class-property": "^1.0.6",
"eslint-plugin-jest": "^21.2.0",
"eslint-plugin-react": "^7.3.0",
"exports-loader": "^0.6.4",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^0.11.2",
"google-closure-library": "^20170910.0.0",
"html-webpack-plugin": "^2.30.1",
"imports-loader": "^0.7.1",
"jest": "^21.2.1",
"mobx": "^3.3.1",
"mobx-react": "^4.3.3",
"modifier-keys": "^1.1.2",
"postcss-flexbugs-fixes": "^3.2.0",
"postcss-loader": "^2.0.6",
"project-name-generator": "^2.1.4",
"prop-types": "^15.5.10",
"rc-slider": "^8.4.0",
"react": "^16.0.0",
"react-autocomplete": "^1.7.2",
"react-contenteditable": "^2.0.5",
"react-dnd": "^2.5.4",
"react-dnd-html5-backend": "^2.5.4",
"react-document-title": "^2.0.3",
"react-dom": "^16.0.0",
"react-hot-loader": "^3.0.0-beta.7",
"react-modal": "^3.0.4",
"react-split-pane": "^0.1.71",
"react-tooltip": "^3.4.0",
"react-transition-group": "^2.2.1",
"scroll-into-view-if-needed": "^1.4.0",
"sort-array": "^2.0.0",
"style-loader": "^0.18.2",
"styled-components": "^2.1.2",
"ua-parser-js": "^0.7.17",
"url-loader": "^0.5.9",
"uuid": "^3.1.0",
"web-ext": "^2.2.2",
"webextension-polyfill": "https://github.com/corevo/webextension-polyfill#2cc27453b501e4426eb6741943fbb4041c0d18f5",
"webpack": "^3.5.6",
"webpack-dev-server": "^2.8.2",
"xml-js": "^1.5.2"
"babel-eslint": "^8.2.1",
"babel-jest": "^22.0.4",
"eslint": "^4.15.0",
"eslint-plugin-class-property": "^1.1.0",
"eslint-plugin-jest": "^21.6.1",
"eslint-plugin-react": "^7.5.1",
"jest": "^22.0.5",
"lerna": "^2.6.0"
}
}
File renamed without changes.
2 changes: 2 additions & 0 deletions packages/selenium-ide/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Selenium IDE
Read the main README [here](/README.md)
File renamed without changes.
72 changes: 72 additions & 0 deletions packages/selenium-ide/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"name": "selenium-ide-extension",
"version": "0.0.0",
"description": "An integrated development environment for Selenium scripts",
"license": "Apache-2.0",
"private": true,
"scripts": {
"start": "webpack-dev-server --hot",
"build": "webpack",
"build-prod": "rm -rf build && env NODE_ENV=production yarn build",
"build-chrome": "./build.sh build ../../selenium-ide.pem 1>/dev/null && mkdir -p dist && mv build.crx dist/selenium-ide.crx && echo \"Wrote dist/selenium-ide.crx\"",
"build-firefox": "web-ext sign -s build -a dist --api-key=$AMO_JWT_ISSUER --api-secret=$AMO_JWT_SECRET --id=$(cat ../../.web-extension-id)"
},
"devDependencies": {
"autoprefixer": "^7.1.4",
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-decorators": "^6.24.1",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.6.0",
"babel-preset-react": "^6.24.1",
"closure-loader": "^0.4.0",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.7",
"exports-loader": "^0.6.4",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^0.11.2",
"google-closure-library": "^20170910.0.0",
"html-webpack-plugin": "^2.30.1",
"imports-loader": "^0.7.1",
"postcss-flexbugs-fixes": "^3.2.0",
"postcss-loader": "^2.0.6",
"react-hot-loader": "^3.0.0-beta.7",
"url-loader": "^0.5.9",
"web-ext": "^2.2.2",
"webpack": "^3.5.6",
"webpack-dev-server": "^2.8.2"
},
"dependencies": {
"classnames": "^2.2.5",
"js-beautify": "^1.7.5",
"mobx": "^3.3.1",
"mobx-react": "^4.3.3",
"modifier-keys": "^1.1.2",
"project-name-generator": "^2.1.4",
"prop-types": "^15.5.10",
"rc-slider": "^8.4.0",
"react": "^16.0.0",
"react-autocomplete": "^1.7.2",
"react-contenteditable": "^2.0.5",
"react-dnd": "^2.5.4",
"react-dnd-html5-backend": "^2.5.4",
"react-document-title": "^2.0.3",
"react-dom": "^16.0.0",
"react-markdown": "^3.1.3",
"react-modal": "^3.0.4",
"react-split-pane": "^0.1.71",
"react-tooltip": "^3.4.0",
"react-transition-group": "^2.2.1",
"scroll-into-view-if-needed": "^1.4.0",
"sort-array": "^2.0.0",
"style-loader": "^0.18.2",
"styled-components": "^2.1.2",
"ua-parser-js": "^0.7.17",
"uuid": "^3.1.0",
"webextension-polyfill": "https://github.com/corevo/webextension-polyfill#2cc27453b501e4426eb6741943fbb4041c0d18f5",
"xml-js": "^1.5.2"
}
}
Loading