Commit Graph

128 Commits

Author SHA1 Message Date
Michal Čihař
68008be4c9 Factor out table navigation code
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-27 09:47:02 +01:00
Michal Čihař
2f1195ca01 Disable BrowserStack debugging
Our tests seem to work fine now, so let's not produce huge amount of
screenshots.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 14:26:02 +01:00
Michal Čihař
57eafc9c40 Better wrapping
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 13:57:15 +01:00
Michal Čihař
c0309ecff1 Fix param name
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 13:56:57 +01:00
Michal Čihař
3ff947a62e Wrap long lines
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 13:56:39 +01:00
Michal Čihař
e708935231 Share capabilities array
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 13:55:32 +01:00
Michal Čihař
8abbad5d12 Coding style fixes
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 13:54:14 +01:00
Michal Čihař
f34a83b84f Another attempt to work with More link
Let's try to destroy resizable menu and fit element into screen.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 13:29:10 +01:00
Michal Čihař
22f2284d99 Better selector to wait for
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 12:20:26 +01:00
Michal Čihař
caf851cf59 Wait for menu to expand
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 11:36:54 +01:00
Michal Čihař
84dafb1491 Try another method for expanding More menu
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 10:08:55 +01:00
Michal Čihař
ed2603f656 Disable menu resizer once we need full menu
Clicking/Moving mouse over More link does not work reliably (sometimes
expanded menu disappears before we click on it's items). Hopefully
this approach will be better.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 09:44:13 +01:00
Michal Čihař
d1ee1bb3d3 Move waiting for elements after login to tests
We can not wait in login itself as it is used for failing tests as well.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 09:15:02 +01:00
Michal Čihař
770edd0cf4 Ensure login is performed after doing it
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 08:49:21 +01:00
Michal Čihař
fa90e0ddda Wait for More link
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-24 08:44:47 +01:00
Michal Čihař
2e8c958ba8 Back to clicking to More link
Previously the method was broken because lack of waiting for page load,
clicking should now work properly when we do this.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-19 14:46:42 +01:00
Michal Čihař
bda60c6baa Give code time to execute
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-19 14:18:31 +01:00
Michal Čihař
7e2ca0697f Remove not used implicit wait
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-19 14:18:02 +01:00
Michal Čihař
6c9de20c84 Remove hack for codemirror, it seems to be broken
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-19 14:04:05 +01:00
Michal Čihař
3de6a0819c Try better method for working with More link
Hovering/clicking dynamically created elements turns out to be
unreliable, so let's try to disable menuResizer completely for these
tests.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-19 13:50:12 +01:00
Michal Čihař
efd9ab0608 Try clicking only
Moving mouse seems to be problematic in Selenium, see
https://code.google.com/p/selenium/issues/detail?id=2067

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-19 12:57:45 +01:00
Michal Čihař
3a762a02c4 Try clicking on More link as well
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-19 11:43:37 +01:00
Michal Čihař
bf9cbd335f Enable visual logs in browserstack for debugging
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-19 11:36:14 +01:00
Michal Čihař
b8299e3161 Ignore errors only from looking up the element
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 15:19:05 +01:00
Michal Čihař
139ea3e96d Add wait before looking up more link
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 13:35:34 +01:00
Michal Čihař
821e84267b Pass parameters individually and avoid parsing
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 13:28:37 +01:00
Michal Čihař
37e745d93d Remove underscore from database name to prevent groupping
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 11:35:36 +01:00
Michal Čihař
157ec2d740 Better method for choosing more link
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 11:14:38 +01:00
Michal Čihař
5d10295c28 Use More hover if it is there
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 11:06:51 +01:00
Michal Čihař
c29b304385 The testId property is private, we need to calculate it again
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 10:34:54 +01:00
Michal Čihař
ff2a90979c Skip pmadb dependent tests if it is not configured
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 10:29:03 +01:00
Michal Čihař
f0cc644324 Pass test name to Selenium server
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 10:09:18 +01:00
Michal Čihař
a89e792854 Skip user creating test if there are no privileges for that
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 09:49:09 +01:00
Michal Čihař
8e927f8852 Provide sane defaults for login method
So that the credentials do not have to be repeated in every test.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 09:42:11 +01:00
Michal Čihař
36760c4229 Correctly refer to static property
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 09:28:34 +01:00
Michal Čihař
3d05485a79 Skip teardown for skipped test
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 09:26:40 +01:00
Michal Čihař
95d6710ad3 This needs to be static
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 09:22:40 +01:00
Michal Čihař
c33fb59567 Use globals for passing testsuite configuration
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 09:20:42 +01:00
Michal Čihař
d336553bcb Unify handling of environment configuration of testsuite
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 09:08:27 +01:00
Michal Čihař
11812af0d5 Allow to configure Selenium server manually
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 08:59:14 +01:00
Michal Čihař
86df238aec Honor configured database server
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 08:53:41 +01:00
Michal Čihař
e50caedee8 Use single variable for server URL
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 08:53:22 +01:00
Michal Čihař
da6dae9af2 Properly mark Selenium tests as skipped if not configured
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-18 08:52:04 +01:00
Michal Čihař
86fbc91ed7 Cleanup browser setup
- do not try to run tests if not given credentials
- do not use global defines when not needed

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 22:30:53 +01:00
Michal Čihař
35187a58a7 Use BUILD_TAG to identify build, it contains project as well
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 22:20:38 +01:00
Michal Čihař
b288973144 Use chrome in basic test run as it starts faster
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 21:37:27 +01:00
Michal Čihař
11baf2f36c Use correct method for closing a connection
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 21:31:42 +01:00
Michal Čihař
46fe3a47a7 Dynamically construct browsers list in browsers() method
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 21:29:35 +01:00
Michal Čihař
111cb5baad Improve database connection handling in Selenium tests
- The connection is always there, so no need to verify it
- Disconnect from database at the end of test

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 21:25:18 +01:00
Michal Čihař
8e5e62eb5c Add Safari to full browsers tests
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 21:14:35 +01:00
Michal Čihař
fe424c4ff0 Run full test in all browsers only if told so
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 21:13:58 +01:00
Michal Čihař
983abe1f25 Move browsers setup to a constructor
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 21:12:26 +01:00
Michal Čihař
1fb485ddad Make database name a public property
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 20:31:08 +01:00
Michal Čihař
00ec97fc98 Use random database name for each test
This way multiple tests can run at same time without causing problems.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 20:04:59 +01:00
Michal Čihař
9115a00458 Share code for creating database for testing
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 20:04:10 +01:00
Michal Čihař
29992934f6 Test MSIE on Windows 7 only
Currently our Javascript does not work in MSIE 7 and older and I think
nobody is going to fix this.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 19:44:40 +01:00
Michal Čihař
bb644960b4 Pass some metadata on test to BrowserStack
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 19:11:07 +01:00
Michal Čihař
8dfef92fa8 Move setup method to base class
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 18:54:09 +01:00
Michal Čihař
dfcfca5188 Change browser name
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 15:46:54 +01:00
Michal Čihař
072c56ab3d Set phpunit timeouts as well for Selenium tests
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 15:46:33 +01:00
Michal Čihař
038c42651c Try moving setup method
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 15:43:30 +01:00
Michal Čihař
310f861d5e Do not set browser version, let bs choose latest one
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 15:42:07 +01:00
Michal Čihař
2b4fc6942f Try different names for a browser
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 15:40:37 +01:00
Michal Čihař
e86fb12375 Add BrowserStack freedom to choose platform for a browser
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 15:13:29 +01:00
Michal Čihař
69c4b7da8a Adjust set of browsers to test
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 15:07:13 +01:00
Michal Čihař
e1f87486f2 Increase timeout for Selenium tests
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:57:06 +01:00
Michal Čihař
d119f60c52 Make base class abstract
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:54:26 +01:00
Michal Čihař
fa71aedd29 Drop not needed attribute
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:50:07 +01:00
Michal Čihař
3ff5993e11 This can be public;
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:46:52 +01:00
Michal Čihař
d4474b30a1 Correctly set base URL
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:43:57 +01:00
Michal Čihař
1e90554c00 This should be public
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:40:46 +01:00
Michal Čihař
5f70eb9319 Set browse url at the beginning 2014-02-17 14:37:33 +01:00
Michal Čihař
486be69e29 Hardcode settings for now
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:26:59 +01:00
Michal Čihař
d8dbae9663 Use variables as constant can not contain array
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:09:51 +01:00
Michal Čihař
64c83aad7a Properly pass Browserstack keys
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:08:44 +01:00
Michal Čihař
19f012b175 Define variable elsewhere
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:06:50 +01:00
Michal Čihař
474802b947 Need to use define here
Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:04:49 +01:00
Michal Čihař
bde484de57 Do not use two levels of helper objects for Selenium tests
Just define base class for Selenium testing which includes all the magic
and others will inherit from it.

Signed-off-by: Michal Čihař <michal@cihar.com>
2014-02-17 14:01:48 +01:00