Skip to content

Commit 8227065

Browse files
authored
🐛 PercyDOM.serialize returns fix now #172 (#173)
* Bump @percy/cli * Fix domSnapshot return * Add development steps * Add npm test
1 parent 6234721 commit 8227065

File tree

4 files changed

+114
-91
lines changed

4 files changed

+114
-91
lines changed

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,22 @@ If you have a previous Percy configuration file, migrate it to the newest versio
124124
```sh-session
125125
$ percy config:migrate
126126
```
127+
## Development
128+
129+
Install/update `@percy/cli` dev dependency (requires Node 14+):
130+
131+
```sh-session
132+
$ npm install --save-dev @percy/cli
133+
```
134+
135+
Install maven:
136+
137+
```sh-session
138+
$ brew install mvn
139+
```
140+
141+
Run tests:
142+
143+
```
144+
npm test
145+
```

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"private": true,
3+
"scripts": {
4+
"test": "npx percy exec --testing -- mvn test"
5+
},
36
"devDependencies": {
4-
"@percy/cli": "^1.12.0"
7+
"@percy/cli": "^1.16.0"
58
}
69
}

src/main/java/io/percy/selenium/Percy.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.util.ArrayList;
1818
import java.util.Arrays;
1919
import java.util.List;
20+
import java.util.Map;
2021
import java.util.logging.Level;
2122
import java.util.logging.Logger;
2223

@@ -134,12 +135,12 @@ public void snapshot(String name, @Nullable List<Integer> widths, Integer minHei
134135
public void snapshot(String name, @Nullable List<Integer> widths, Integer minHeight, boolean enableJavaScript, String percyCSS, String scope) {
135136
if (!isPercyEnabled) { return; }
136137

137-
String domSnapshot = "";
138+
Map<String, Object> domSnapshot = null;
138139

139140
try {
140141
JavascriptExecutor jse = (JavascriptExecutor) driver;
141142
jse.executeScript(fetchPercyDOM());
142-
domSnapshot = (String) jse.executeScript(buildSnapshotJS(Boolean.toString(enableJavaScript)));
143+
domSnapshot = (Map<String, Object>) jse.executeScript(buildSnapshotJS(Boolean.toString(enableJavaScript)));
143144
} catch (WebDriverException e) {
144145
// For some reason, the execution in the browser failed.
145146
if (PERCY_DEBUG) { log(e.getMessage()); }
@@ -235,7 +236,7 @@ private String fetchPercyDOM() {
235236
* @param percyCSS Percy specific CSS that is only applied in Percy's browsers
236237
*/
237238
private void postSnapshot(
238-
String domSnapshot,
239+
Map<String, Object> domSnapshot,
239240
String name,
240241
@Nullable List<Integer> widths,
241242
Integer minHeight,

yarn.lock

Lines changed: 87 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -44,105 +44,105 @@
4444
"@nodelib/fs.scandir" "2.1.4"
4545
fastq "^1.6.0"
4646

47-
"@percy/cli-app@1.12.0":
48-
version "1.12.0"
49-
resolved "https://registry.yarnpkg.com/@percy/cli-app/-/cli-app-1.12.0.tgz#1c4dfd5756a80411e5ecec12115a957a74c56b95"
50-
integrity sha512-vS002JnlGyu8CxIY69WXGvgZn7RillBM4MOyAtFmT2r/u8KUsUTslJ3pIimXQMeC7jFnwkEK2bxfcstoBNv5hA==
47+
"@percy/cli-app@1.16.0":
48+
version "1.16.0"
49+
resolved "https://registry.yarnpkg.com/@percy/cli-app/-/cli-app-1.16.0.tgz#573b0adf8cc2d56f9ef18ecbbd7e6a57dc341cde"
50+
integrity sha512-Igmkod0vGcBj1KSB5JZrKoXuUSRPuceHVm+BjR23R5O/Gv9whKT7Zn1wEGhWNTS7cFz0B0Qg9uKiqjUcU9jNHQ==
5151
dependencies:
52-
"@percy/cli-command" "1.12.0"
53-
"@percy/cli-exec" "1.12.0"
52+
"@percy/cli-command" "1.16.0"
53+
"@percy/cli-exec" "1.16.0"
5454

55-
"@percy/cli-build@1.12.0":
56-
version "1.12.0"
57-
resolved "https://registry.yarnpkg.com/@percy/cli-build/-/cli-build-1.12.0.tgz#e5f38d7032f048370429a1d1be8b716178b3160a"
58-
integrity sha512-O18xPFuCsrsyUgpkozTsvQCvqQkv/y3dj5cDiGzwMI+fI2B+jdCIEri6J/ZEWw78CGPQSCrBO0ufKK2qHd5wVw==
55+
"@percy/cli-build@1.16.0":
56+
version "1.16.0"
57+
resolved "https://registry.yarnpkg.com/@percy/cli-build/-/cli-build-1.16.0.tgz#8084ea3806f76f93c8ffa5429666c0fc5a47e98e"
58+
integrity sha512-23rEYqwCtpXprvduwEOAlQLfOZhO0KTVMNM/25nrmiOwPvcEcB8cLeGdCq48JNR3GvbZrDaXP8UxJaCmkTiZow==
5959
dependencies:
60-
"@percy/cli-command" "1.12.0"
60+
"@percy/cli-command" "1.16.0"
6161

62-
"@percy/cli-command@1.12.0":
63-
version "1.12.0"
64-
resolved "https://registry.yarnpkg.com/@percy/cli-command/-/cli-command-1.12.0.tgz#84625bf7999f8e3b97db14089e911bb92aa10ae5"
65-
integrity sha512-D7wy/r/HczO0dz8IfBiZP7kquMocPtiAd8rTYdEDBKkWyiC+bKGgYAbV3MzYAFgwRkXpswRbbPgq3exXp19oLg==
62+
"@percy/cli-command@1.16.0":
63+
version "1.16.0"
64+
resolved "https://registry.yarnpkg.com/@percy/cli-command/-/cli-command-1.16.0.tgz#18fd0d1f2d7eff07ef851367c40e6a163e5c4a30"
65+
integrity sha512-MXRyDA9iRfFTVpSL/+GWEGnB19EU+qb16u1fdSHlSp/BHNiGIFmF2yRw4TepAKkiYuJmzFNyqEcdKAnwWB77qA==
6666
dependencies:
67-
"@percy/config" "1.12.0"
68-
"@percy/core" "1.12.0"
69-
"@percy/logger" "1.12.0"
67+
"@percy/config" "1.16.0"
68+
"@percy/core" "1.16.0"
69+
"@percy/logger" "1.16.0"
7070

71-
"@percy/cli-config@1.12.0":
72-
version "1.12.0"
73-
resolved "https://registry.yarnpkg.com/@percy/cli-config/-/cli-config-1.12.0.tgz#1d71e0961ba9fb2b22d9deec3a92b5ef3fecade9"
74-
integrity sha512-ae3cEjFCrVZz9yexj3+VjYFNZMvRYsZ9DI6MHxcujb72DRmnG5Xs0ZnAThx3pkSrRNOWViAJxcNE2AIBtkKQsQ==
71+
"@percy/cli-config@1.16.0":
72+
version "1.16.0"
73+
resolved "https://registry.yarnpkg.com/@percy/cli-config/-/cli-config-1.16.0.tgz#8454ae91d39bb807f135bad8ef912f6c2021c33c"
74+
integrity sha512-wsGGpqhcFVjRoq9sZl9LxKho5FOaasSYzxBlNGnfbrcCxZEhSmiszoss/115IgBaioSFBwybu3z0crGhbffS5g==
7575
dependencies:
76-
"@percy/cli-command" "1.12.0"
76+
"@percy/cli-command" "1.16.0"
7777

78-
"@percy/cli-exec@1.12.0":
79-
version "1.12.0"
80-
resolved "https://registry.yarnpkg.com/@percy/cli-exec/-/cli-exec-1.12.0.tgz#4e6532570c6cb4f59fcf69cf974f329c7b1de23d"
81-
integrity sha512-UdZQs1GcttqabgV7Md8p/UsgJLiwaeZ7pI4nQ5bGQ0LBa1F5c/so2pX0MUcQqeUt5Vy9P8mixCSD+OI+djlzKw==
78+
"@percy/cli-exec@1.16.0":
79+
version "1.16.0"
80+
resolved "https://registry.yarnpkg.com/@percy/cli-exec/-/cli-exec-1.16.0.tgz#c8bd57e76e3de7261cdb966353a85fc73a263289"
81+
integrity sha512-INZA1lCATlTpZLxd3GeWzbxd3dARsBYW/NvtnlWNs5svoMHYgzjNqraodZFfKLCdmiZ4uH2D6az8P/Ho4h+4Fw==
8282
dependencies:
83-
"@percy/cli-command" "1.12.0"
83+
"@percy/cli-command" "1.16.0"
8484
cross-spawn "^7.0.3"
8585
which "^2.0.2"
8686

87-
"@percy/cli-snapshot@1.12.0":
88-
version "1.12.0"
89-
resolved "https://registry.yarnpkg.com/@percy/cli-snapshot/-/cli-snapshot-1.12.0.tgz#1f0cfdb2aedefb32376b304341b93a681962dbfb"
90-
integrity sha512-kKgdj6HSMaF9QDhYg8wZvlHftj+d2Nq+g1pWmRrtsCGJH5aNEORU1396fs7t7WBUZagy9O7lzLzZ+xxPoTa1og==
87+
"@percy/cli-snapshot@1.16.0":
88+
version "1.16.0"
89+
resolved "https://registry.yarnpkg.com/@percy/cli-snapshot/-/cli-snapshot-1.16.0.tgz#1af3e5aca759a68bb7c860e520815fbb04312c5f"
90+
integrity sha512-t92+vTWxfL/5BLZncMy9yWgTIvwDuANXEfCb3EjWuW5s9WY0rlG/Vl+LMY4wffDyT+Kcc63dW7kQSgSLS7t/bw==
9191
dependencies:
92-
"@percy/cli-command" "1.12.0"
92+
"@percy/cli-command" "1.16.0"
9393
yaml "^2.0.0"
9494

95-
"@percy/cli-upload@1.12.0":
96-
version "1.12.0"
97-
resolved "https://registry.yarnpkg.com/@percy/cli-upload/-/cli-upload-1.12.0.tgz#6bfe1ef13e1b47d18503255cc45264386ade925d"
98-
integrity sha512-caK70dxhew9/wbVwJp6cp5CU66oTOXJdVQjBqfvWqqG1qGMqeA+mYYzG2XMtDOGs8CLD61IRJHkBOBL6vTVjnA==
95+
"@percy/cli-upload@1.16.0":
96+
version "1.16.0"
97+
resolved "https://registry.yarnpkg.com/@percy/cli-upload/-/cli-upload-1.16.0.tgz#b0062788097a03e90cb672fdfe677375c49a72dd"
98+
integrity sha512-syRiw/wAuW7z644SspgAgEjcf7xtiY7mxEqXjJFuhxa3nYm1TjTSgYsQHecYAOhWAc4rbngNnVNuben3F8mqFg==
9999
dependencies:
100-
"@percy/cli-command" "1.12.0"
100+
"@percy/cli-command" "1.16.0"
101101
fast-glob "^3.2.11"
102102
image-size "^1.0.0"
103103

104-
"@percy/cli@^1.12.0":
105-
version "1.12.0"
106-
resolved "https://registry.yarnpkg.com/@percy/cli/-/cli-1.12.0.tgz#86174ac15e7feb5ea75c2b7051555dcbba354483"
107-
integrity sha512-cWp6enOQP/DB0EqJK7F+KznjpLEis5JaAVHSoKkYiSQMsNgNhwMq6IgTSkTbu+ZfUqr3n8s5SL02JVIsgRgXyQ==
108-
dependencies:
109-
"@percy/cli-app" "1.12.0"
110-
"@percy/cli-build" "1.12.0"
111-
"@percy/cli-command" "1.12.0"
112-
"@percy/cli-config" "1.12.0"
113-
"@percy/cli-exec" "1.12.0"
114-
"@percy/cli-snapshot" "1.12.0"
115-
"@percy/cli-upload" "1.12.0"
116-
"@percy/client" "1.12.0"
117-
"@percy/logger" "1.12.0"
118-
119-
"@percy/client@1.12.0":
120-
version "1.12.0"
121-
resolved "https://registry.yarnpkg.com/@percy/client/-/client-1.12.0.tgz#6f490323c6f1a5f91f0150d01a4eb15b312b0c4e"
122-
integrity sha512-KQJ8ykLteQwf8ldTJPh8szLqmJpMJvVG7d7+TVnkYKpNJRhsGEqHnymhKADGWn5/U6i0Z8DdEJGExfnABmRB1A==
123-
dependencies:
124-
"@percy/env" "1.12.0"
125-
"@percy/logger" "1.12.0"
126-
127-
"@percy/config@1.12.0":
128-
version "1.12.0"
129-
resolved "https://registry.yarnpkg.com/@percy/config/-/config-1.12.0.tgz#8655b3b9a36fa38c527515791d8817757a0fc07c"
130-
integrity sha512-4ECAofbnlyP10PxNeiE8hlEG+IvqCNQ/R8V9on2EGD68mo9E7gsD9zWfMpVHuFNxCQxC0FYinR7VWaQVBvIb6Q==
131-
dependencies:
132-
"@percy/logger" "1.12.0"
104+
"@percy/cli@^1.16.0":
105+
version "1.16.0"
106+
resolved "https://registry.yarnpkg.com/@percy/cli/-/cli-1.16.0.tgz#4d91e20982d06eb193b0253ae89711e6c47b4e41"
107+
integrity sha512-ICvtqlCVFnyUO3hJjza5CzeCDiA8dzfzZEmDf3pBxQox2p1xlO/p6/HE+8OR8vi8xNwNU+iytEfbpl0t8NQxHw==
108+
dependencies:
109+
"@percy/cli-app" "1.16.0"
110+
"@percy/cli-build" "1.16.0"
111+
"@percy/cli-command" "1.16.0"
112+
"@percy/cli-config" "1.16.0"
113+
"@percy/cli-exec" "1.16.0"
114+
"@percy/cli-snapshot" "1.16.0"
115+
"@percy/cli-upload" "1.16.0"
116+
"@percy/client" "1.16.0"
117+
"@percy/logger" "1.16.0"
118+
119+
"@percy/client@1.16.0":
120+
version "1.16.0"
121+
resolved "https://registry.yarnpkg.com/@percy/client/-/client-1.16.0.tgz#f48c63fb37e02ce5f9438c4f871315f0b8d74dc5"
122+
integrity sha512-P0vbuKIE2H5lk/47HWDM6T8bJzv9pBQjY5LFQ3vQdvsRWah2fY/EV02D5WLh4qyBow5RdnFrbpV24oRKs1tX9A==
123+
dependencies:
124+
"@percy/env" "1.16.0"
125+
"@percy/logger" "1.16.0"
126+
127+
"@percy/config@1.16.0":
128+
version "1.16.0"
129+
resolved "https://registry.yarnpkg.com/@percy/config/-/config-1.16.0.tgz#016426f8b9377ae4ff076e874e520f521c6f72a4"
130+
integrity sha512-yF9iYh9HwoRgCAeHcYG4tZMsU8fv4lL+YNQPdJazxBMnNxxMegxFGMf51gMbn5OBallRjRlWMnOif0IiQz4Siw==
131+
dependencies:
132+
"@percy/logger" "1.16.0"
133133
ajv "^8.6.2"
134134
cosmiconfig "^7.0.0"
135135
yaml "^2.0.0"
136136

137-
"@percy/core@1.12.0":
138-
version "1.12.0"
139-
resolved "https://registry.yarnpkg.com/@percy/core/-/core-1.12.0.tgz#538ed5f44d51283935ccc9308d166029abfc1eb1"
140-
integrity sha512-djjyRDQ/fSYc5n4L952fezMamXA4coNCSnCOIuV1tuul6HP2QpQBqSLUlTNIqtCy1vWUYQQvz6WtCzSw8Fp08g==
137+
"@percy/core@1.16.0":
138+
version "1.16.0"
139+
resolved "https://registry.yarnpkg.com/@percy/core/-/core-1.16.0.tgz#5744e5f9bccb86be4959af34cdde8e3cf909540d"
140+
integrity sha512-J342BLq7DY5Z/2EX5z2XYGftS/yRAf7FKTcT4J40VB4c6dX54e0uMm+t7yu/djkFEdbzXQvMWuGGaQj3WYW+4w==
141141
dependencies:
142-
"@percy/client" "1.12.0"
143-
"@percy/config" "1.12.0"
144-
"@percy/dom" "1.12.0"
145-
"@percy/logger" "1.12.0"
142+
"@percy/client" "1.16.0"
143+
"@percy/config" "1.16.0"
144+
"@percy/dom" "1.16.0"
145+
"@percy/logger" "1.16.0"
146146
content-disposition "^0.5.4"
147147
cross-spawn "^7.0.3"
148148
extract-zip "^2.0.1"
@@ -153,20 +153,20 @@
153153
rimraf "^3.0.2"
154154
ws "^8.0.0"
155155

156-
"@percy/dom@1.12.0":
157-
version "1.12.0"
158-
resolved "https://registry.yarnpkg.com/@percy/dom/-/dom-1.12.0.tgz#3e1660bc557997c80d359c43086a0e5d3e60cc64"
159-
integrity sha512-EUy281hPhpPqdy9DV3OXROOK2B7p0nujox/n18MmgWwxlO4YxVQJC0C3VF7TmHIhGBwE8BLSqxqz6r1RramKyw==
156+
"@percy/dom@1.16.0":
157+
version "1.16.0"
158+
resolved "https://registry.yarnpkg.com/@percy/dom/-/dom-1.16.0.tgz#e53df5e519f0873b04888073dc02e6ae5d91af08"
159+
integrity sha512-jAH9gwQ8vjRm6EAYlk59b5je4jlqh+lM7YiGADCxwHDpbAvgJxu/getnaNAxvygeXnmTn87ZwInPhIa4WeBYIg==
160160

161-
"@percy/env@1.12.0":
162-
version "1.12.0"
163-
resolved "https://registry.yarnpkg.com/@percy/env/-/env-1.12.0.tgz#dd35b9c82b059d3fbcb7c2c8f10f6272931f6cac"
164-
integrity sha512-baEMvDcVzbJcOL+rr4s98Jb7tKdUVWnNGdXZI26UxsaSwHtKJRceHe4Qzw79FPU1KtJnK34KEsCDj4S9eAtGEg==
161+
"@percy/env@1.16.0":
162+
version "1.16.0"
163+
resolved "https://registry.yarnpkg.com/@percy/env/-/env-1.16.0.tgz#cef30cff069ccbb51749f4f9ea91aa7702769dba"
164+
integrity sha512-MRyUk5fQ9EXNVirupSYX5OaMAsvE7db8OVeJrM2RyzcEB16xMmI5rpj7HPu7eTU6Spe0KXbqaDze3Slr5aPHpA==
165165

166-
"@percy/logger@1.12.0":
167-
version "1.12.0"
168-
resolved "https://registry.yarnpkg.com/@percy/logger/-/logger-1.12.0.tgz#0799261eee677e67cafd6ab05dd5a6f1a8d18317"
169-
integrity sha512-GQ9XiwOK9sb+5luZH4899Wwt1RF6K5fkiyumjYrZk4MtkxOqVIUtU08rat0rZZUO0T+KkNHvjbZ487XvLQjN1g==
166+
"@percy/logger@1.16.0":
167+
version "1.16.0"
168+
resolved "https://registry.yarnpkg.com/@percy/logger/-/logger-1.16.0.tgz#e6804d1770869266226eff77fdc2e5cf9992473b"
169+
integrity sha512-u9zTj6BcUmqknrcikrunRpkRr+uQlENhgK/m0Zokxtv9CgkmNzR8oLoseJjU5P4zGZEiJE/v7wnzNC1ezvS9nQ==
170170

171171
"@types/node@*":
172172
version "12.7.5"

0 commit comments

Comments
 (0)