Skip to content

Commit 2dd5fdc

Browse files
authored
Merge branch 'dev' into dev
2 parents fc48199 + 344003e commit 2dd5fdc

36 files changed

+1280
-36
lines changed

docs_source_files/content/_index.de.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class HelloSelenium {
8383
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
8484
driver.Navigate().GoToUrl("https://www.google.com/ncr");
8585
driver.FindElement(By.Name("q")).SendKeys("cheese" + Keys.Enter);
86-
wait.Until(driver =>driver.FindElement(By.CssSelector("h3>div")).Displayed);
86+
wait.Until(webDriver => webDriver.FindElement(By.CssSelector("h3>div")).Displayed);
8787
IWebElement firstResult = driver.FindElement(By.CssSelector("h3>div"));
8888
Console.WriteLine(firstResult.GetAttribute("textContent"));
8989
}

docs_source_files/content/_index.en.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class HelloSelenium {
8181
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
8282
driver.Navigate().GoToUrl("https://www.google.com/ncr");
8383
driver.FindElement(By.Name("q")).SendKeys("cheese" + Keys.Enter);
84-
wait.Until(driver =>driver.FindElement(By.CssSelector("h3>div")).Displayed);
84+
wait.Until(webDriver => webDriver.FindElement(By.CssSelector("h3>div")).Displayed);
8585
IWebElement firstResult = driver.FindElement(By.CssSelector("h3>div"));
8686
Console.WriteLine(firstResult.GetAttribute("textContent"));
8787
}

docs_source_files/content/_index.es.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class HelloSelenium {
8181
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
8282
driver.Navigate().GoToUrl("https://www.google.com/ncr");
8383
driver.FindElement(By.Name("q")).SendKeys("cheese" + Keys.Enter);
84-
wait.Until(driver =>driver.FindElement(By.CssSelector("h3>div")).Displayed);
84+
wait.Until(webDriver => webDriver.FindElement(By.CssSelector("h3>div")).Displayed);
8585
IWebElement firstResult = driver.FindElement(By.CssSelector("h3>div"));
8686
Console.WriteLine(firstResult.GetAttribute("textContent"));
8787
}

docs_source_files/content/_index.fr.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class HelloSelenium {
7979
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
8080
driver.Navigate().GoToUrl("https://www.google.com/ncr");
8181
driver.FindElement(By.Name("q")).SendKeys("cheese" + Keys.Enter);
82-
wait.Until(driver =>driver.FindElement(By.CssSelector("h3>div")).Displayed);
82+
wait.Until(webDriver => webDriver.FindElement(By.CssSelector("h3>div")).Displayed);
8383
IWebElement firstResult = driver.FindElement(By.CssSelector("h3>div"));
8484
Console.WriteLine(firstResult.GetAttribute("textContent"));
8585
}

docs_source_files/content/_index.ja.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class HelloSelenium {
6969
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
7070
driver.Navigate().GoToUrl("https://www.google.com/ncr");
7171
driver.FindElement(By.Name("q")).SendKeys("cheese" + Keys.Enter);
72-
wait.Until(driver =>driver.FindElement(By.CssSelector("h3>div")).Displayed);
72+
wait.Until(webDriver => webDriver.FindElement(By.CssSelector("h3>div")).Displayed);
7373
IWebElement firstResult = driver.FindElement(By.CssSelector("h3>div"));
7474
Console.WriteLine(firstResult.GetAttribute("textContent"));
7575
}

docs_source_files/content/_index.ko.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class HelloSelenium {
7171
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
7272
driver.Navigate().GoToUrl("https://www.google.com/ncr");
7373
driver.FindElement(By.Name("q")).SendKeys("cheese" + Keys.Enter);
74-
wait.Until(driver =>driver.FindElement(By.CssSelector("h3>div")).Displayed);
74+
wait.Until(webDriver => webDriver.FindElement(By.CssSelector("h3>div")).Displayed);
7575
IWebElement firstResult = driver.FindElement(By.CssSelector("h3>div"));
7676
Console.WriteLine(firstResult.GetAttribute("textContent"));
7777
}

docs_source_files/content/_index.nl.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class HelloSelenium {
8787
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
8888
driver.Navigate().GoToUrl("https://www.google.com/ncr");
8989
driver.FindElement(By.Name("q")).SendKeys("cheese" + Keys.Enter);
90-
wait.Until(driver =>driver.FindElement(By.CssSelector("h3>div")).Displayed);
90+
wait.Until(webDriver => webDriver.FindElement(By.CssSelector("h3>div")).Displayed);
9191
IWebElement firstResult = driver.FindElement(By.CssSelector("h3>div"));
9292
Console.WriteLine(firstResult.GetAttribute("textContent"));
9393
}

docs_source_files/content/_index.zh-cn.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class HelloSelenium {
7070
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
7171
driver.Navigate().GoToUrl("https://www.google.com/ncr");
7272
driver.FindElement(By.Name("q")).SendKeys("cheese" + Keys.Enter);
73-
wait.Until(driver =>driver.FindElement(By.CssSelector("h3>div")).Displayed);
73+
wait.Until(webDriver => webDriver.FindElement(By.CssSelector("h3>div")).Displayed);
7474
IWebElement firstResult = driver.FindElement(By.CssSelector("h3>div"));
7575
Console.WriteLine(firstResult.GetAttribute("textContent"));
7676
}

docs_source_files/content/getting_started_with_webdriver/locating_elements.de.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ Liste mit Käsesorten die uns am besten schmecken:
125125
<li id=brie>…
126126
<li id=rochefort>…
127127
<li id=camembert>…
128-
</ul>
128+
</ol>
129129
```
130130

131131
Es steht außer Frage, je mehr Käse desto besser, es wäre aber umständlich

docs_source_files/content/getting_started_with_webdriver/locating_elements.en.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ ordered list of the cheese we like the best:
124124
<li id=brie>…
125125
<li id=rochefort>…
126126
<li id=camembert>…
127-
</ul>
127+
</ol>
128128
```
129129

130130
Since more cheese is undisputably better, and it would be cumbersome
@@ -415,4 +415,4 @@ let emailAddressField = await driver.findElements(withTagName("input").near(emai
415415
val emailAddressLabel = driver.findElement(By.id("lbl-email"))
416416
val emailAddressField = driver.findElement(withTagName("input").near(emailAddressLabel))
417417
{{< / code-panel >}}
418-
{{< / code-tab >}}
418+
{{< / code-tab >}}

docs_source_files/content/getting_started_with_webdriver/locating_elements.es.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ una lista ordenada del queso que más nos gusta:
124124
<li id=brie>…
125125
<li id=rochefort>…
126126
<li id=camembert>…
127-
</ul>
127+
</ol>
128128
```
129129
Dado que más queso es indiscutiblemente mejor, y sería engorroso
130130
tener que recuperar cada uno de los elementos individualmente,

docs_source_files/content/getting_started_with_webdriver/locating_elements.fr.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ dispose d'une liste ordonnée de nos fromages préférés:
123123
<li id=brie>…
124124
<li id=rochefort>…
125125
<li id=camembert>…
126-
</ul>
126+
</ol>
127127
```
128128
Puisque plus de fromage est sans conteste meilleur, et qu'il serait lourd
129129
de devoir récupérer chaque item un par un, une technique supérieure est d'utiliser

docs_source_files/content/getting_started_with_webdriver/locating_elements.ja.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ driver.findElement(By.cssSelector("#cheese #cheddar"))
108108
<li id=brie>…
109109
<li id=rochefort>…
110110
<li id=camembert>…
111-
</ul>
111+
</ol>
112112
```
113113

114114
チーズがたくさんある方が良いのは疑いの余地がなく、また一個一個取らなければなければならないのは面倒です。

docs_source_files/content/getting_started_with_webdriver/locating_elements.ko.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ driver.findElement(By.cssSelector("#cheese #cheddar"))
100100
<li id=brie>…
101101
<li id=rochefort>…
102102
<li id=camembert>…
103-
</ul>
103+
</ol>
104104
```
105105

106106
더 많은 치즈는 의심할 여지 없이 더 좋지만, 각각의 아이템들을 따로 회수하기에는 너무 복잡하고 힘들어질 것입니다. 이를 위한 좀 더 상급 테크닉은 바로 다수 버전의 `findElements(By)`를 사용하는 것입니다. 이 메소드는 web elements들의 컬렉션을 반환합니다. 하나의 element만 발견되어도 여전히 컬렉션을 반환합니다. (이 때의 컬렉션은 하나의 element로 이루어져 있습니다). 만약 아무 element가 발견되지 않는다면, 빈 리스트가 반환됩니다.

docs_source_files/content/getting_started_with_webdriver/locating_elements.nl.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ ordered list of the cheese we like the best:
133133
<li id=brie>…
134134
<li id=rochefort>…
135135
<li id=camembert>…
136-
</ul>
136+
</ol>
137137
```
138138

139139
Since more cheese is undisputably better, and it would be cumbersome

docs_source_files/content/getting_started_with_webdriver/locating_elements.zh-cn.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ driver.findElement(By.cssSelector("#cheese #cheddar"))
102102
<li id=brie>…
103103
<li id=rochefort>…
104104
<li id=camembert>…
105-
</ul>
105+
</ol>
106106
```
107107

108108
因为有更多的奶酪无疑是更好的,但是单独检索每一个项目是很麻烦的,检索奶酪的一个更好的方式是使用复数版本 `findElements(By)` 。此方法返回 web 元素的集合。如果只找到一个元素,它仍然返回(一个元素的)集合。如果没有元素被定位器匹配到,它将返回一个空列表。

docs_source_files/content/grid/grid_4/graphql_support.de.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "GraphQL querying support"
3-
weight: 1
3+
weight: 3
44
---
55

66
{{% notice info %}}

docs_source_files/content/grid/grid_4/graphql_support.en.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "GraphQL querying support"
3-
weight: 1
3+
weight: 3
44
---
55

66
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. It gives users the power to ask for exactly what they need and nothing more.

docs_source_files/content/grid/grid_4/graphql_support.es.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "GraphQL querying support"
3-
weight: 1
3+
weight: 3
44
---
55

66
{{% notice info %}}

docs_source_files/content/grid/grid_4/graphql_support.fr.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "GraphQL querying support"
3-
weight: 1
3+
weight: 3
44
---
55

66
{{% notice info %}}

docs_source_files/content/grid/grid_4/graphql_support.ja.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "GraphQLクエリのサポート"
3-
weight: 1
3+
weight: 3
44
---
55

66
GraphQLは、APIのクエリ言語であり、既存のデータでこれらのクエリを実行するためのランタイムです。

docs_source_files/content/grid/grid_4/graphql_support.ko.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "GraphQL querying support"
3-
weight: 1
3+
weight: 3
44
---
55

66
{{% notice info %}}

docs_source_files/content/grid/grid_4/graphql_support.nl.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "GraphQL querying support"
3-
weight: 1
3+
weight: 3
44
---
55

66
{{% notice info %}}

docs_source_files/content/grid/grid_4/graphql_support.zh-cn.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "GraphQL查询支持"
3-
weight: 1
3+
weight: 3
44
---
55

66

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
---
2+
title: "Rasterendpunkte"
3+
weight: 4
4+
---
5+
6+
{{% notice info %}}
7+
<i class="fas fa-language"></i> Diese Seite wird von Englisch
8+
auf Deutsch übersetzt. Sprichst Du Deutsch? Hilf uns die Seite
9+
zu übersetzen indem Du uns einen Pull Reqeust schickst!
10+
{{% /notice %}}
11+
12+
13+
## Grid
14+
15+
### Grid Status
16+
17+
Grid status provides the current state of the Grid. It consists of details about every registered Node.
18+
For every Node, the status includes information regarding Node availability, sessions, and slots.
19+
20+
```shell
21+
cURL GET 'http://localhost:4444/status'
22+
```
23+
24+
In the Standalone mode, the Grid URL is the Standalone server address.
25+
26+
In the Hub-Node mode, the Grid URL is the Hub server address.
27+
28+
In the fully distributed mode, the Grid URL is the Router server address.
29+
30+
Default URL for all the above modes is http://localhost:4444.
31+
32+
## Distributor
33+
34+
### Remove Node
35+
36+
To remove the Node from the Grid, use the cURL command enlisted below.
37+
It does not stop any ongoing session running on that Node.
38+
The Node continues running as it is unless explicitly killed.
39+
The Distributor is no longer aware of the Node and hence any matching new session request
40+
will not be forwarded to that Node.
41+
42+
In the Standalone mode, the Distributor URL is the Standalone server address.
43+
44+
In the Hub-Node mode, the Distributor URL is the Hub server address.
45+
```shell
46+
cURL --request DELETE 'http://localhost:4444/se/grid/distributor/node/<node-id>' --header 'X-REGISTRATION-SECRET: <secret> '
47+
```
48+
In the fully distributed mode, the URL is the Distributor server address.
49+
```shell
50+
cURL --request DELETE 'http://localhost:5553/se/grid/distributor/node/<node-id>' --header 'X-REGISTRATION-SECRET: <secret>'
51+
```
52+
If no registration secret has been configured while setting up the Grid, then use
53+
```shell
54+
cURL --request DELETE 'http://<Distributor-URL>/se/grid/distributor/node/<node-id>' --header 'X-REGISTRATION-SECRET;'
55+
```
56+
57+
### Drain Node
58+
59+
Node drain command is for graceful node shutdown.
60+
Draining a Node stops the Node after all the ongoing sessions are complete.
61+
However, it does not accept any new session requests.
62+
63+
In the Standalone mode, the Distributor URL is the Standalone server address.
64+
65+
In the Hub-Node mode, the Distributor URL is the Hub server address.
66+
```shell
67+
cURL --request POST 'http://localhost:4444/se/grid/distributor/node/<node-id>/drain' --header 'X-REGISTRATION-SECRET: <secret> '
68+
```
69+
In the fully distributed mode, the URL is the Distributor server address.
70+
```shell
71+
cURL --request POST 'http://localhost:5553/se/grid/distributor/node/<node-id>/drain' --header 'X-REGISTRATION-SECRET: <secret>'
72+
```
73+
If no registration secret has been configured while setting up the Grid, then use
74+
```shell
75+
cURL --request POST 'http://<Distributor-URL>/se/grid/distributor/node/<node-id>/drain' --header 'X-REGISTRATION-SECRET;'
76+
```
77+
78+
## Node
79+
80+
The endpoints in this section are applicable for Hub-Node mode and fully distributed Grid mode where the
81+
Node runs independently.
82+
The default Node URL is http://localhost:5555 in case of one Node.
83+
In case of multiple Nodes, use [Grid status](#grid-status) to get all Node details and locate the Node address.
84+
85+
### Status
86+
87+
The Node status is essentially a health-check for the Node.
88+
Distributor pings the node status are regular intervals and updates the Grid Model accordingly.
89+
The status includes information regarding availability, sessions, and slots.
90+
91+
```shell
92+
cURL --request GET 'http://localhost:5555/status'
93+
```
94+
95+
### Drain
96+
97+
Distributor passes the [drain](#drain-node) command to the appropriate node identified by the node-id.
98+
To drain the Node directly, use the cuRL command enlisted below.
99+
Both endpoints are valid and produce the same result. Drain finishes the ongoing sessions before stopping the Node.
100+
101+
```shell
102+
cURL --request POST 'http://localhost:5555/se/grid/node/drain' --header 'X-REGISTRATION-SECRET: <secret>'
103+
```
104+
If no registration secret has been configured while setting up the Grid, then use
105+
```shell
106+
cURL --request POST 'http://<node-URL>/se/grid/node/drain' --header 'X-REGISTRATION-SECRET;'
107+
```
108+
109+
### Check session owner
110+
111+
To check if a session belongs to a Node, use the cURL command enlisted below.
112+
113+
```shell
114+
cURL --request GET 'http://localhost:5555/se/grid/node/owner/<session-id>' --header 'X-REGISTRATION-SECRET: <secret>'
115+
```
116+
If no registration secret has been configured while setting up the Grid, then use
117+
```shell
118+
cURL --request GET 'http://<bode-URL>/se/grid/node/owner/<session-id>' --header 'X-REGISTRATION-SECRET;'
119+
```
120+
121+
It will return true if the session belongs to the Node else it will return false.
122+
123+
### Delete session
124+
125+
Deleting the session terminates the WebDriver session, quits the driver and removes it from the active sessions map.
126+
Any request using the removed session-id or reusing the driver instance will throw an error.
127+
128+
```shell
129+
cURL --request DELETE 'http://localhost:5555/se/grid/node/session/<session-id>' --header 'X-REGISTRATION-SECRET: <secret>'
130+
```
131+
If no registration secret has been configured while setting up the Grid, then use
132+
```shell
133+
cURL --request DELETE 'http://<node-URL>/se/grid/node/session/<session-id>' --header 'X-REGISTRATION-SECRET;'
134+
```
135+
136+
## New Session Queue
137+
138+
### Clear New Session Queue
139+
140+
New Session Request Queue holds the new session requests.
141+
To clear the queue, use the cURL command enlisted below.
142+
Clearing the queue rejects all the requests in the queue. For each such request, the server returns an error response to the respective client.
143+
The result of the clear command is the total number of deleted requests.
144+
145+
In the Standalone mode, the queuer URL is the Standalone server address.
146+
147+
In the Hub-Node mode, the queuer URL is the Hub server address.
148+
149+
```shell
150+
cURL --request DELETE 'http://localhost:4444/se/grid/newsessionqueuer/queue'
151+
```
152+
153+
In the fully distributed mode, the queuer URL is New Session Queuer server address.
154+
```shell
155+
cURL --request DELETE 'http://localhost:5559/se/grid/newsessionqueuer/queue'
156+
```
157+
158+

0 commit comments

Comments
 (0)