1
0
mirror of https://github.com/MontFerret/ferret.git synced 2025-02-03 13:11:45 +02:00

72 Commits

Author SHA1 Message Date
Tim Voronov
847dda1f10
Feature/pre compiled eval scripts (#658)
* Added support of pre-compiled eval expressions

* Added unit tests for eval.Function

* Added RemoteType and RemoteObjectType enums

* Refactored function generation

* Refactored Document and Element loading logic

* Removed redundant fields from cdp.Page

* Exposed eval.Runtime to external callers

* Added new eval.RemoteValue interface
2021-09-19 19:35:54 -04:00
Tim Voronov
90427cd537
Feature/new selector type (#657)
* Added remote type reference resolver

* Added support of XPath query selector

* Added CDP e2e testss covering XPath integration

* Added additional CDP e2e tests covering XPath integration

* Added type check to QuerySelector casting function

* Fixed XPath e2e tests

* Fixed vuln issue

* Added support of XPath selectors to http driver

* Added e2e tests for XPAth
2021-09-16 21:40:20 -04:00
Tim Voronov
8f2957e6ca
Feature/optimized member expression (#653)
* Added new member path resolution logic

* Updated Getter and Setter interfaces

* Added ssupport of pre-compiled static member path

* Improved error handling
2021-09-08 21:01:22 -04:00
Tim Voronov
1d0617eb3b
Added support of optional chaining (#634) 2021-07-16 14:46:08 -04:00
Tim Voronov
742bdae0ae
Feature/#263 waitfor event (#590)
* Added new WAITFOR syntax

* Added support of event options

* Added support of options

* Added support of using WAITFOR EVENT in variable assignment
2021-07-13 21:34:22 -04:00
Tim Voronov
833330e73c
values.Parse does not parse int64 (#621) 2021-05-04 15:20:40 -04:00
Tim Voronov
5119d62838
Feature/#478 keyboard events (#618)
* Added support of pressin special keys

* Linting
2021-04-23 10:42:31 -04:00
Tim Voronov
6295919806
#593 handling non-200 status codes 2021-03-05 08:08:28 -05:00
Roman
cd35437452
feat(runtime): check Kind() by 0 or Interface() panic (#587) 2021-01-22 14:59:02 -05:00
Tim Voronov
526916efb6
Bugfix/#575 element children (#580)
* Fixed retreival of child elements

* Fixed formatting

* Set tree depth to 0

* Removed redundant code
2020-12-19 13:42:57 -05:00
Tim Voronov
2baac62d1e
Bugfix/#559 html escaping (#573)
Added jettison for json encoding
2020-11-23 20:12:04 -05:00
Tim Voronov
162dd07346
Feature/425 iframe navigation (#535)
* Updated navigation logic

* Fixed goroutine deadlock

* Fixed closing chan

* Added support of waiting for individual frame navigation

* Updated EventLoop API in order to avoid double closing of event sources

* Fixed attr retrieval

* Removed redundant println

* Updated DOM Readiness check
2020-07-13 14:13:03 -04:00
Tim Voronov
2643321e0f
Migration to lab (#526)
* Switched to Lab for e2e tests

* Switched to binary

* Updated lab installation

* Updated use of Lab installer

* updates

* Changed lab installation path

* Updated use of installer

* Works

* Added additional functions

* Updated some tests

* Updated go.sum

* Works

* Refactored assertions

* Added tests for testing.True

* Added tests for testing.None

* Added tests for testing.Lte

* Added tests for testing.Lt

* Added generic consturctor

* Added tests for testing.Len

* Added tests for testing.Gte

* Added tests for testing.Gt

* Added tests for testing.False

* Added tests for testing.Empty

* Added tests for testing.Fail

* Added tests for testing.Equal

* Added tests for testing.Include

* Updated urls in static page tests

* Fixed namespace unit tests

* Fixed unit test for testing.Len

* Updated E2E scripts

* Updaes

* Updated Chrome in CI/CD

* Added e2e for example test click.fql

* Added suite cases for example scripts

* Updated examples

* Updated

* Added type assertions

* Updated Chrome opts and disabled headers and cookies related tests

* Fixed iframes example

* Increased timeouts in navigation examples

* Updated value example

* Updated comments

* Disabled cookies examples

* Fixed static url

* Disabled headers examples

* Disabled UA test

* Simplified wait logic

* Added base testing module

* Fixes after codereview

* Disabled failing tests
2020-06-17 17:37:01 -04:00
Tim Voronov
4af0e0f15f
Added possibility to load pages from memory (#434)
* Added possibility to load pages from memory

* Fixed indent
2020-01-04 12:57:41 -05:00
Владимир Фетисов
3bb0ab183b pull master 2019-10-03 22:42:14 +03:00
Владимир Фетисов
d0f8b69241 handle Ptr kind 2019-09-30 20:42:05 +03:00
Tim Voronov
24370d8178
Refactored methods (#376)
* Refactored methods

* Fixed errors provided by go vet
2019-09-06 23:15:27 -04:00
3timeslazy
f87fe1e669 refactoring: .GetIn (#353)
* sync with MontFerret/ferret

* fix --param handling

When params is converted to map it uses strings.Split,
which slices a string into all substrings separated by :.

* implement GetIn for values.Object

* implement GetIn for values.Array

* rewrite GetIn because values.Object and values.Array implement core.Getter now

* fix bug when GetIn return nil instead of None

* add tests for Object and Array .GetIn

* add GetIn comment and remove 'len(byPath)' check

* fix GetIn comment
2019-08-20 22:00:15 -04:00
Tim Voronov
63201148ac
Added possibility to set custom viewport size (#334)
* Added possibility to set custom viewport size

* Fixed linting issue

* Renamed ScreenSize to Viewport

* Updated e2e test
2019-07-17 13:29:16 -04:00
Tim Voronov
7ce6797e9c
Feature/#230 xpath (#322)
* Implemented XPath for CDP driver

* Added XPATH function

* Added e2e tests for CDP

* Fixed linting issues

* Added support of XPath to HTTP driver

* Fixed linting issues
2019-07-03 14:05:02 -04:00
Tim Voronov
d7b923e4c3
Feature/#220 iframe support (#315)
* Refactored Virtual DOM structure
* Added new E2E tests
* Updated E2E Test Runner
2019-06-19 17:58:56 -04:00
Tim Voronov
6933798419
Bugfix/#295 arithmetic operators (#298)
* Some work

* Updated Add operator

* Updated Subtract operator

* Updated Subtract operator tests

* Added tests for multiplication

* Added division

* Updated the rest of operators
2019-05-19 12:12:11 -04:00
3timeslazy
acf2f13dcb Linter Cleanups (#294)
* sync with MontFerret/ferret

* fix --param handling

When params is converted to map it uses strings.Split,
which slices a string into all substrings separated by :.

* remove impossible conditions nil != nil

* delete ineffectual assignments

* replace '+= 1' with '++'

* remove useless comparison with nil

* merge variable declarations

* remove bool comparison

* fix imports

* fix imports

* delete unused file

* use copy instead of loop

* delete unused DummyInterface

* remove unnecassary break statements

* tidy modules
2019-05-03 17:10:34 -04:00
3timeslazy
de703513e4 Linter Cleanup (#276)
* linter cleanup

* fix default case
2019-03-29 10:48:51 -04:00
Tim Voronov
71c246dd17
Feature/#236 cookies (#242)
* Added KeepCookies option to CDP driver

* Added LoadDocumentParams

* Added COOKIE_GET and COOKIE_SET methods
2019-03-15 19:59:05 -04:00
Tim Voronov
376ad77404
Feature/#250 wait style (#255)
* Added support for parsed styles

* Added stdlib function.

* Added e2e tests

* Added e2e tests for STYLE_* functions
2019-03-13 14:51:30 -04:00
Tim Voronov
14dd7ac40b
Fixed incorrect String.length (#238)
* Fixed incorrect String.length
2019-02-24 13:21:34 -05:00
Tim Voronov
eb523f01cc
Feature/#221 mouse events (#237)
* Initial work

* Added MoveMouseByXY and ScrollByXY

* Fixed liniting issues
2019-02-23 17:52:01 -05:00
Tim Voronov
34c8c02258
Refactoring/externalized html (#234)
* Externalized HTML drivers

* Fixed unit tests

* Updated logging

* Added support to set default driver

* Updated GetIn and SetIn helpers
2019-02-19 18:10:18 -05:00
Tim Voronov
f8e061cc80
Move value specific Iterable and Iterator interfaces into core module (#233)
* Move value specific Iterable and Iterator interfaces into core module

* Update Makefile

Reverted test command

* Update collection.go

* Fixed wrong iterator usage

* Updated use of switch statements
2019-02-15 07:41:08 -05:00
Tim Voronov
1af8b37a0f
New type system (#232)
* New type system

* Fixed dot notation for HTML elements
2019-02-13 12:31:18 -05:00
3timeslazy
b3bcbda3b9 rename functions Parse<Type>P -> MustParse<Type>. while dined (#231) 2019-02-12 18:01:49 -05:00
Tim Voronov
e535f602d5 Added unit tests for Setter and Getter interfaces 2018-12-24 10:48:34 -05:00
Tim Voronov
5620be211c
Next (#214)
* Renamed DOCUMENT to PAGE

* Added PageLoadParams

* Added PageLoadParams

* Renamed LoadPageParams -> PageLoadParams

* Added support for context.Done() (#201)

* Bug/#189 operators precedence (#202)

* Fixed math operators precedence

* Fixed logical operators precedence

* Fixed array operator

* Added support for parentheses to enforce a different operator evaluation order

* Feature/#200 drivers (#209)

* Added new interfaces

* Renamed dynamic to cdp driver

* Renamed drivers

* Added ELEMENT_EXISTS function (#210)

* Renamed back PAGE to DOCUMENT (#211)

* Added Getter and Setter interfaces
2018-12-21 23:14:41 -05:00
Tim Voronov
a219e776ad
Switched from int to int64 (#188) 2018-11-30 19:31:08 -05:00
Tim Voronov
dc3de71554
Bug/#194 empty value (#195)
* Fixes

* Fixed path to HTMLElement.value
2018-11-28 07:39:12 -05:00
3timeslazy
612705ca3a Feature/#8 datetime (#153) 2018-10-31 19:26:36 -04:00
Tim Voronov
3472630e6f
Bug/#142 clauses and statements (#148) 2018-10-28 01:45:26 -04:00
Tim Voronov
549b4abd3b
Feature/#5 collect keyword alt (#141)
Implemented COLLECT key word
2018-10-24 21:30:05 -04:00
3timeslazy
ebea64da37 Feature/#10 values (#128)
* added VALUES function
* updated object.Compare
2018-10-22 18:24:53 -04:00
Tim Voronov
3939800299
#123 Renamed 'innerHtml' to 'innerHTML' (#133) 2018-10-16 19:33:02 -04:00
Tim Voronov
5f94b77a39
Feature/#7 numeric functions (#116)
* #7 Added ABS

* #7 Added ACOS

* #7 Added ASIN

* #7 Added ATAN

* #7 Added ATAN2

* #7 Added AVERAGE

* #7 Added CEIL

* #7 Added COS

* #7 Added DEGREES

* #7 Added EXP

* #7 Added EXP2

* #7 Added FLOOR

* #7 Added LOG

* #7 Added LOG2

* #7 Added LOG10

* #7 Added MAX

* #7 Added MEDIAN

* #7 Added MIN

* #7 Added PERCENTILE

* #7 Added PI

* #7 Added POW

* #7 Added RADIANS

* #7 Added RAND

* #7 Added RANGE

* #7 Added ROUND

* #7 Added SIN

* #7 Added SQRT

* #7 Added TAN

* #7 Added SUM

* #7 Added STDDEV_POPULATION

* #7 Added STDDEV_SAMPLE, VARIANCE_POPULATION, VARIANCE_SAMPLE
2018-10-13 21:07:28 -04:00
Tim Voronov
42757a2a5a
Feature/#105 elements count (#109)
* #105 Added ELEMENTS_COUNT function

* Some minor updates

* Invalid return type
2018-10-12 21:52:27 -04:00
3timeslazy
f91fbf6f8c Feature/#95 deepclone (#101)
* rename method Clone to Copy

* added Cloneable interface

* added Value to Cloneable interface

* implemented Cloneable intefrace by array

* implemented Cloneable interface by Object

* unit tests for Object.Clone

* move core.IsCloneable to value.go

* change Clone function

* move IsClonable to package values
2018-10-12 11:58:08 -04:00
3timeslazy
54c9857862 Bugfix/#97 array compare (#98)
* added some more unit tests for values.Array

* fix values.Array.Compare method

* added one more unit test
2018-10-11 09:54:20 -04:00
3timeslazy
b74e490624 Bugfix/#89 compare (#93)
* change object method Compare

* added unit tests for Compare method

* changed Compare method

* fix Compare method
2018-10-10 13:04:15 -04:00
Tim Voronov
05a7582bba
Feature/inner html element child (#82)
* SOme wokrd

* Renamed example

* Updated example
2018-10-08 20:20:40 -04:00
=
a51faf8d05 change Object.Get(key values.String) (core.Value, bool) to Object.Get(key values.String) (core.Value, values.Boolean) for consistency. 2018-10-07 23:55:12 +03:00
Tim Voronov
e0a7a8e6a1 Refactored types lib 2018-10-07 01:07:44 -04:00
Tim Voronov
e64ad4ec0e
Feature/#33 wait class function (#63)
* #33 Lib cleanup. Added WAIT_CLASS and WAIT_CLASS_ALL functions

* #33 Fixed attr update

* #33 HTMLElement.WaitForClass

* #33 Updated HTMLDocument.WaitForClass
2018-10-06 22:33:39 -04:00