У меня есть div, который является блоком отображения (получение стиля через jquery), и теперь я хочу, чтобы он не отображался, когда пользователь нажимает на него только для просмотра планшета и мобильного устройства. Поэтому я использовал attr(‘style’,’display: none !important’). Но он принимает блок отображения по умолчанию. Есть ли какое-то решение, чтобы преодолеть это…..
26 сен ’14
#1
2 7820
Войдите, чтобы опубликовать свой ответ, или Зарегистрируйте бесплатную учетную запись.
Похожие темы кроссбраузерный дисплей блокировка нет
автор: ruby_bestcoder |
последнее сообщение от:
Привет
У меня проблема в firefox с display:none/block. У меня есть по существу 3 элемента li. В каждом элементе несколько
вложенный div:s….
Джаваскрипт
Кто-нибудь использует JQuery с ASP.net?
автор: Даррел |
последнее сообщение от:
Я все еще пытаюсь найти библиотеку javascript/ajax, которую я хочу использовать.
с на некоторое время.
JQuery выглядит великолепно в наши дни… рафинированный, МНОГО…
ASP.NET
Я использую отображение: нет с использованием таблицы
автор: jelumalai |
последнее сообщение от:
Я использую display:none с использованием Table. При показе onClick с помощью javascript. Потом покажет, опять скрою, только контент скрыт, но это…
HTML/CSS
отображение изображений из БД с помощью jquery
автор: pradeepjain |
последнее сообщение от:
привет,
У меня есть 3 изображения для одного идентификатора, например 00024, в БД. когда пользователь выбирает идентификатор из раскрывающегося списка. Все 3 изображения должны быть…
Javascript
Как перезагрузить страницу с помощью jQuery?
автор: апсива |
последнее сообщение от:
Всем здравствуйте,
1. Сначала я выбираю имя класса в поле со списком -> с помощью jQuery перезагружаю страницу.
2. после перезагрузки страницы имя студента отображалось в…
Javascript
изготовление логотипа
автор: zermasroor |
последнее сообщение от:
Я создаю логотип для редактирования фотографий на сайте моего клиента. Какое программное обеспечение лучше всего подходит для создания логотипов?
Общие
Доступ DevCon 2023
автор: isladogs |
последнее сообщение от:
Доступ к DevCon: четверг, 27 + пятница, 28 апреля 2023 г.
Сегодня, вторник, 25 апреля, последний день регистрации на DevCon, крупнейшую англоязычную…
Утверждения | Документация Cypress
Cypress объединяет популярное утверждение Chai
библиотеку, а также полезные расширения для
Синон и
jQuery, предоставляя вам десятки
мощные утверждения бесплатно.
Chai
https://github.com/chaijs/chai Эти цепочки доступны для утверждений BDD ( ожидать / следует ). Псевдонимы
перечисленные могут использоваться взаимозаменяемо с их оригинальным цепным устройством. Вы можете увидеть
полный список доступных утверждений BDD Chai здесь.
Цепь Пример not .should('not.equal', 'Jane') 901 56 ожидать(имя).to.not.equal('Джейн') deep .should('deep.equal', { name: 'Jane' }) expect(obj).to.deep.equal({ name: 'Jane' }) 9 0027 вложенный ожидать({a: {b: 'x'}}).to.have.nested.property('ab') ожидать({a: {b: 'x'}}). to.nested.include({'a.b': 'x'}) заказано .should('иметь.заказаны.члены', [1, 2]) ожидать([1, 2]).to.иметь.заказаны.члены([1, 2]) expect([1, 2]).not.to.have.ordered.members([2, 1]) любой .should('have.any.keys', 'age') expect(arr).to.have.any.keys('age') all . should('have.all.keys', 'name', 'age') expect(arr).to.have.all.keys('имя', 'возраст') a( type ) Псевдонимы: an .should('be.a', 'string') ожидать('тест').to.be.a ('string') include( value
) Псевдонимы: содержат, включает, содержит .should('include', 2) ожидать([1,2, 3]).to.include(2) ok .should('not.be.ok') ожидать(не определено).чтобы.не.было.ок 156 false .should('be.false') expect(false).to.be.false null .should ('be.null') ожидать( null).to.be.null undefined .should('be.undefined') ожидать(не определено). быть.неопределенным существовать пустой . должен('быть.пустым') ожидать([].to.be.empty аргументы
Псевдонимы: аргументы 901 55 .should('be.arguments') ожидать(аргументы).быть.аргументами равно( значение ) Псевдонимы: равно, eq .should('equal', 42) 9015 5 ожидать(42).to.equal(42) deep.equal( значение ) .should('deep.equal', {имя: 'Джейн'}) ожидать({имя: 'Джейн' }).to.deep.equal({имя : 'Джейн' }) eql( значение ) Псевдонимы: eqls .should('eql', {имя: 'Джейн'}) ожидать({имя: 'Джейн' }). to.eql({имя: 'Джейн'}) GreatThan( значение ) Псевдонимы: gt, выше
.should('be.greaterThan', 5) expect(10).to.be.greaterThan( 5) минимум ( значение ) Псевдонимы: gte .should('be.at.least', 10) ожидать(10).быть.по крайней мере(10) меньше( значение ) Псевдонимы: lt, ниже .should('be.lessThan', 10 ) expect(5).to.be.lessThan(10) наиболее( значение ) Псевдонимы: lte 900 27 .should('иметь.длину.на .most', 4) expect('test').to.have.lengthof.most(4) внутри( начало , окончание ) . should('be.within', 5, 10) expect(7).to.be.within(5, 10) instanceOf( конструктор ) Псевдонимы: instanceof .should('be.instanceOf', Array) expect([1, 2, 3]).to .be.instanceOf(массив) свойство( имя , [значение] ) .should('иметь.свойство', 'имя') expect(obj).to.have.property('name') deep.property( name , [value] ) . должен('иметь.глубокое.свойство' , 'tests[1]', 'e2e') expect(deepObj).to.have.deep.property('tests[1]', 'e2e') ownProperty( name ) Псевдонимы: haveOwnProperty, own.property .should('have.ownProperty', 'length') expect('test').to.have.ownProperty('length') ownPropertyDescriptor(
имя ) Псевдонимы: haveOwnPropertyDescriptor . should('иметь.ownPropertyDescriptor', ' a') expect({a: 1}).to.have.ownPropertyDescriptor('a') lengthOf( value ) .should('have.length О', 4) ожидать('тест').to.have.lengthOf(4) 9тест/) строка ( строка ) ключи( ключ1 , [ключ2] , […] ) Псевдонимы: ключ .should('иметь.ключи', 'проход', ' не удалось') ожидать({пройдено: 1, не пройдено: 2}).to.have.keys('пройдено', 'не пройдено') бросок( конструктор ) Псевдонимы: throws, Throw .should('throw', Error) expect(fn).to.throw(Error) ответить( метод ) Псевдонимы: responsesTo сам . должен ('itself.respondTo', 'getName') ожидать (Foo). .should('удовлетворить', (число) => num > 0) expect(1).to.satisfy((num) => num > 0) closeTo( ожидаемое , дельта ) 90 250 Псевдонимы: приблизительно .should('be.closeTo', 1, 0.5) expect(1.5).to.be.closeTo(1, 0.5) членов( set ) .should('include.members', [3, 2]) 9015 6 ожидать ([1, 2, 3]).to.include.members([3, 2]) oneOf( значений ) .should('be.oneOf', [1, 2, 3]) expect(2).to.be.oneOf([1,2,3]) изменение( функция ) Псевдонимы: изменения .should('change', obj, 'val') expect(fn).to.change(obj, 'val') увеличение( функция ) Псевдонимы : увеличивает . should('увеличить', obj, 'val') ожидать(fn).to.increase(obj, 'val') уменьшить( функция ) Псевдонимы: уменьшится .should('уменьшение', obj, 'val') expect(fn).to.decrease(obj, 'val')
Эти геттеры также доступны для утверждений BDD. Они на самом деле не делают
что угодно, но они позволяют вам писать четкие английские предложения.
Цепные геттеры до , будет , был , есть , , , , , и , , , , , с , с , из , тот же
Chai-jQuery https://github.com/chaijs/chai-jquery
Эти цепочки доступны при утверждении о DOM объект.
Вы обычно будете использовать эти цепочки после использования команд DOM, таких как: cy.get() , cy.contains() и т. д. 171 атрибут( имя , [значение] )
.should('have.attr', 'bar') expect($el).to.have.attr('foo', 'bar') prop( name , [value] ) .should('have.prop', 'disabled', false) expect($el).to. есть.проп(' отключено', ложь) css( имя , [значение] ) .should('have.css', 'фоновый цвет', 'rgb(0, 0, 0)' ) ожидать($el).to.have.css('цвет фона', 'rgb(0, 0, 0)') данные( имя , [значение] ) 9002 7 .should('have.data', 'foo', 'bar') expect($el).to.have.data('foo', 'bar') class( className ) . should('have.class', 'foo') expect($el).to.have.class('foo') id( id 9 0248 ) .should('have.id', 'foo') expect($el).to.have.id('foo') html( html ) 9017 1 .должен ('have.html', 'Я люблю тестировать') expect($el).to.have.html('with Cypress') text( text ) .should( 'have.text', 'Я люблю тестировать) expect($el).to.have.text('with Cypress') значение( значение ) .should('have.value', '[email protected]') expect($el).to.have.value('[email protected]') видимый .should('be.visible') expect($el).to.be.visible hidden .should('be.hidden') expect ($эль). быть.скрытым выбрано .следует('выбрано') ожидать($option).не.быть выбранным0156 проверено focus[ed] .should(' have.focus') expect($input).not.to.be.focus expect($input).to.have.focus enable .should('be . включено') ожидать($input).to.be.enabled отключено .should('be.disabled') expect($input).to.be.disabled пустой .should('be.empty') ожидать($ el).не.быть.пустым существует .должен('существовать') ожидать($nonexistent).not.to.exist 9 0003 совпадение( селектор ) .should('match', ':пусто') expect($emptyEl). to.match(':пусто') содержат ( текст ) 7 потомок( selector ) .should('иметь.потомков', 'div') ожидать($el).to.иметь.потомков('div')
Si не Чай https://github.com/domenic/sinon-chai
Эти цепочки используются для утверждений с cy.stub() и cy.spy() .
Свойство/метод Sinon.JS Утверждение call .should('have.been.call' ) ожидать(шпионить).будут звонить callCount .should('have.callCount', 3) expect(spy).to.have.callCount(n) callOnce 9 0027 .should('было.было . CalledOnce') ожидать(шпионить).быть.вызванным один раз вызывать дважды . be.callTwice звонил трижды .should('have.been.callThrice') ожидать(spy).to.be.callThrice callBefore .should('have.been.callBefore', spy2 ) ожидать(spy1).to.be.callBefore(spy2) callAfter callWithNew .следует( 'have.been.callWithNew') expect(spy).to.be.callWithNew alwaysCalledWithNew .should('have.always.been.callWithNew') 90 156 ожидать(шпион) .to.always.be.callWithNew callOn .should('have.been.callOn', контекст) expect(spy).to.be.callOn(context) alwaysCalledOn .should('иметь .always.been.callOn', контекст) expect(spy).to.always.be.callOn(context) callWith . should('have.been.callWith', [' arg1, 'arg2']) expect(spy).to.be.callWith(...args) alwaysCalledWith .should('have.always.been.callWith', ['arg1', 'arg2']) expect(spy).to.always.be.callWith(... args) callOnceWith (...аргументы ) callWithExactly .should('have.been.callWithExactly', ['arg1, 'arg2']) expect(spy).to.be.callWithExactly(...args) alwaysCalledWithExactly ]) expect(spy).to.always.be.callWithExactly(...args) callOnceWithExactly .should('have.been.callOnceWithExactly', ['arg1, 'arg 2']) ожидать(шпионить).to.be.callOnceWithExactly(...args) callWithMatch 03 всегда CalledWithMatch возвращено . should('have.returned', 'foo') ожидать(spy).to.have.returned(returnVal) alwaysReturned 27 метал .should('have.thrown', TypeError) expect(spy).to.have.thrown(errorObjOrErrorTypeStringOrNothing) alwaysThrew .should( 'have.always.thrown', 'TypeError ') ожидать(spy).to.have.always.thrown(errorObjOrErrorTypeStringOrNothing)
Добавление новых утверждений Поскольку мы используем chai , это означает, что вы можете расширить его по своему усмотрению.
Cypress будет «просто работать» с новыми утверждениями, добавленными к chai . Вы можете:
Написать свои собственные chai утверждений как
задокументировано здесь. npm установите любую существующую библиотеку chai и импортируйте ее в тестовый файл или
файл поддержки. Общие утверждения Вот список общих утверждений элементов. Обратите внимание, как мы используем эти утверждения
(перечислены выше) с .следует() . Вы также можете захотеть
читайте о том, как Cypress повторяет попытки
утверждения.
Длина // повторяем, пока не найдем 3 совпадения cy.get('li.selected').should('have.length', 3) Класс // повторять попытку до тех пор, пока для этого ввода не будет отключен класс cy.get('form').find('input').should('not.have.class', 'disabled') Value // повторить пока это текстовое поле не будет иметь правильное значение cy.get('textarea').should('have.value', 'foo bar baz') Text Content // подтверждаем, что текстовое содержимое элемента точно соответствует заданному тексту cy.get('[data-testid="user-name"]').should('have.text', 'Joe Smith') // подтверждаем, что текст элемента включает заданную подстроку cy. get('[data-testid="address"]').should('include.text', 'Atlanta') // повторять до тех пор, пока это span не содержит 'нажми на меня' cy.get('a').parent('span.help').should('not.contain', 'нажми на меня') // текст элемента должен начинаться с " привет" 9Привет/) Видимость // повторять попытку, пока элемент с // data-testid "form-submit" не станет видимым cy.get('[data-testid="form-submit"]'). should('be.visible') // повторять попытку до тех пор, пока элемент списка с // текстом «написать тесты» не станет видимым cy.contains('[data-testid="todo"] li', 'написать тесты') .should('be.visible') Примечание: если есть несколько элементов, утверждения будут и не.быть.видимым действовать иначе:
// повторять, пока НЕКОТОРЫЕ элементы не станут видимыми cy.get('li').should('be.visible') // повторять, пока ВСЕ элементы не станут невидимыми cy. get('li.hidden').should ('not.be.visible') Посмотреть короткое видео
"Несколько элементов и утверждение must('be.visible')"
который показывает, как правильно проверять видимость элементов.
Существование // повторять попытку до тех пор, пока счетчик загрузки не перестанет существовать cy.get('[data-testid="loading"]').should('not.exist') Состояние // повторять попытку, пока наше радио не будет проверено cy.get(':radio').should('be.checked') CSS // повторять попытку, пока элемент не будет соответствовать css cy .get('[data-testid="completed"]').should( 'have.css', 'text-decoration', 'line-through' ) // повторите попытку, пока аккордеон css свойство // "display: none" cy.get('[data-testid="accordion"]').should('not.have.css', 'display', 'none') Отключенное свойство cy. get('[data-testid="example-input"]') .should( 'be.disabled') // включим этот элемент из теста .invoke('prop', 'disabled', false) cy.get('[data-testid="example-input"]') // мы можем использовать «включенное» утверждение .0151
Есть положительные и отрицательные утверждения. Примеры положительных утверждений:
cy.get('[data-testid="todo-item"]') .should('have.length', 2) .and('have.class', 'completed ') Отрицательные утверждения имеют перед утверждением цепочку "не".
Примеры отрицательных утверждений:
cy.contains('first todo').should('not.have.class', 'completed') cy.get('[data-testid="loading"]'). should('not.be.visible') Ложное прохождение тестов Отрицательные утверждения могут пройти по причинам, которых вы не ожидали. скажем, мы
хотите проверить, что приложение Todo list добавляет новый элемент Todo после ввода Todo и
нажатие ввода.
Положительные утверждения
При добавлении элемента в список и использовании положительного утверждения тест
утверждает определенное количество элементов Todo в нашем приложении.
Приведенный ниже тест может быть ложно пройден, если приложение ведет себя неожиданно,
например, добавить пустую задачу вместо добавления новой задачи с текстом «Написать
тесты».
cy.get('[data-testid="todos"]').should('have.length', 2) cy.get('[data-testid="new-todo"]').type ('Запись тестов{enter}') // использование положительного утверждения для проверки // точного количества элементов cy.get('[data-testid="todos"]').should('have.length ', 3)
Отрицательные утверждения
пройти, когда приложение ведет себя несколькими неожиданными способами:
Приложение удаляет весь список элементов Todo вместо вставки третьего
Задача Приложение удаляет задачу вместо добавления новой задачи Приложение добавляет пустую задачу cy.get('[data-testid="todos"]').should('have.length', 2) cy.get('[data-testid="new-todo"]').type('Запись тестов{enter}') // использование отрицательного утверждения для проверки // не количество элементов cy. get('[data-testid="todos"]').should('not.have.length', 2)
Должен обратный вызов Если встроенных утверждений недостаточно, вы можете написать свою собственную функцию утверждения
и передайте его как обратный вызов команде .should() . Кипарис автоматически
повторяйте функцию обратного вызова до тех пор, пока она
проходит или время ожидания команды истекло. См. .should() документация.
Введение
cy.get('div').should(($div) => { expect($div).to.have.length(1) const className = $div[0].className
// className будет строкой вроде "main-abc123 heading-xyz987" expect(className).to.match(/heading-/) })
Несколько утверждений Вы можете прикрепить несколько утверждений той же команде.
data-testid="assertions-link" class="active" href="https://on.cypress.io" target="_blank" > Cypress Docs cy.Навигация по записям