Skip to content

Commit 8419a7d

Browse files
authored
feat: more examples of getting attributes (#191)
* add more examples for attribute and css after cy.get * chore: remove .only * it is CSS property * Minor updates
1 parent feea274 commit 8419a7d

File tree

2 files changed

+49
-1
lines changed

2 files changed

+49
-1
lines changed

app/commands/querying.html

+32-1
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ <h4><a href="https://on.cypress.io/get">cy.get()</a></h4>
119119
// ↲
120120
// Use CSS selectors just like jQuery</code></pre>
121121
</div>
122+
122123
<div class="col-xs-5">
123124
<div class="well">
124125
<button id="query-btn" class="query-btn btn btn-primary">
@@ -144,9 +145,39 @@ <h4><a href="https://on.cypress.io/get">cy.get()</a></h4>
144145
</div>
145146
</div>
146147
</div>
148+
</div>
147149

148-
<div class="col-xs-12"><hr /></div>
150+
<div class="row">
151+
<div class="col-xs-7">
152+
<p>
153+
<code>cy.get()</code> yields a jQuery object, you can get its attribute by invoking the <code>.attr()</code> method.
154+
</p>
155+
<pre><code class="javascript">cy.get('[data-test-id="test-example"]')
156+
.invoke('attr', 'data-test-id')
157+
.should('equal', 'test-example')
158+
159+
// or you can get an element's CSS property
160+
cy.get('[data-test-id="test-example"]')
161+
.invoke('css', 'position')
162+
.should('equal', 'static')</code></pre>
163+
</div>
164+
</div>
149165

166+
<div class="row">
167+
<div class="col-xs-7">
168+
<p>
169+
Alternatively, chain assertions directly to the <code>cy.get()</code> call.
170+
See <a href="https://on.cypress.io/assertions" target="_blank">assertions documentation</a>.
171+
</p>
172+
<pre><code class="javascript">cy.get('[data-test-id="test-example"]')
173+
.should('have.attr', 'data-test-id', 'test-example')
174+
.and('have.css', 'position', 'static')</code></pre>
175+
</div>
176+
</div>
177+
178+
<div class="col-xs-12"><hr /></div>
179+
180+
<div class="row">
150181
<div class="col-xs-7">
151182
<h4><a href="https://on.cypress.io/contains">cy.contains()</a></h4>
152183
<p>

cypress/integration/examples/querying.spec.js

+17
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,23 @@ context('Querying', () => {
2020
// Use CSS selectors just like jQuery
2121

2222
cy.get('[data-test-id="test-example"]').should('have.class', 'example')
23+
24+
// 'cy.get()' yields jQuery object, you can get its attribute
25+
// by invoking `.attr()` method
26+
cy.get('[data-test-id="test-example"]')
27+
.invoke('attr', 'data-test-id')
28+
.should('equal', 'test-example')
29+
30+
// or you can get element's CSS property
31+
cy.get('[data-test-id="test-example"]')
32+
.invoke('css', 'position')
33+
.should('equal', 'static')
34+
35+
// or use assertions directly during 'cy.get()'
36+
// https://on.cypress.io/assertions
37+
cy.get('[data-test-id="test-example"]')
38+
.should('have.attr', 'data-test-id', 'test-example')
39+
.and('have.css', 'position', 'static')
2340
})
2441

2542
it('cy.contains() - query DOM elements with matching content', () => {

0 commit comments

Comments
 (0)