All Projects → spatie → selenium-client

spatie / selenium-client

Licence: MIT license
A PHP Selenium client

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to selenium-client

google-image-downloader
A script to download images from images.google.com
Stars: ✭ 28 (-9.68%)
Mutual labels:  selenium
ember-foxy-forms
Ember Addon for Making Foxy Forms
Stars: ✭ 27 (-12.9%)
Mutual labels:  forms
conditionize.js
Small jQuery plugins for handling conditional form fields via data attributes. Unmaintained.
Stars: ✭ 56 (+80.65%)
Mutual labels:  forms
ng-validators
⭐ Native angular 6+ form validators
Stars: ✭ 17 (-45.16%)
Mutual labels:  forms
throughout
🎪 End-to-end testing made simple (using Jest and Puppeteer)
Stars: ✭ 16 (-48.39%)
Mutual labels:  selenium
selenium-java
This is the sample repository that we use in the Complete Selenium WebDriver with Java Bootcamp
Stars: ✭ 45 (+45.16%)
Mutual labels:  selenium
automation-for-humans
Converts English statements to automation.
Stars: ✭ 67 (+116.13%)
Mutual labels:  selenium
react-native-debug-console
A network and console debug component and modal for react native purely in JavaScript
Stars: ✭ 17 (-45.16%)
Mutual labels:  debugging
devtools-proxy
Multiplexing proxy for Chrome DevTools. Fully compatible with Selenium and ChromeDriver
Stars: ✭ 64 (+106.45%)
Mutual labels:  selenium
facebook-data-extraction
Experiences in extracting data from Facebook with these 3 methods: Facebook Graph API, Automation tools, DevTools Console
Stars: ✭ 81 (+161.29%)
Mutual labels:  selenium
debug
A small debugging library for C++
Stars: ✭ 30 (-3.23%)
Mutual labels:  debugging
react-step-builder
React Step Builder allows you to create step-by-step interfaces easily.
Stars: ✭ 97 (+212.9%)
Mutual labels:  forms
qzone-spider
QQ 空间爬虫,基于 selenium 模拟登录空间,破解滑动验证码,拿到 cookies,然后使用 requests 抓取好友留言板的所有留言与回复,并生成词图。只抓了留言,本来还想抓说说,不过因为我已经好多年不玩 QQ 空间,感觉它对我已经没什么意义了,遂作罢。
Stars: ✭ 23 (-25.81%)
Mutual labels:  selenium
vaccipy
Automatische Impfterminbuchung für www.impfterminservice.de
Stars: ✭ 548 (+1667.74%)
Mutual labels:  selenium
Meadow
Integrated Ethereum implementation and tool suite focused on Solidity testing and development.
Stars: ✭ 126 (+306.45%)
Mutual labels:  debugging
TikTok
Download public videos on TikTok using Python with Selenium
Stars: ✭ 37 (+19.35%)
Mutual labels:  selenium
python-crawler
爬虫学习仓库,适合零基础的人学习,对新手比较友好
Stars: ✭ 37 (+19.35%)
Mutual labels:  selenium
weibo topic
微博话题关键词,个人微博采集, 微博博文一键删除 selenium获取cookie,requests处理
Stars: ✭ 28 (-9.68%)
Mutual labels:  selenium
FUTpuppeteer
This is an auto-clicker bot used to trade players and items on FIFA Ultimate Team's Web App.
Stars: ✭ 11 (-64.52%)
Mutual labels:  selenium
laravel-email-exceptions
Email Exceptions package for Laravel 5.x
Stars: ✭ 33 (+6.45%)
Mutual labels:  debugging

PHP Selenium client

Selenium is a great tool for testing. This package gives you a boilerplate setup to automate UI testing tasks you'd do manually otherwise.

For example: you can make a scenario to test the flow of a form in one of your projects, without having to worry about setting up Selenium itself. This package uses Chrome by default, but you're able to override it with whatever driver you want.

Support us

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.

Installation

git clone [email protected]:spatie/selenium-client.git

Usage

You can add your own scenarios in the Scenarios folder.

Next, you'll need to start the Selenium server like so:

php client.php serve

Next you can run your scenarios like so:

php client.php execute dummy [--wait]

Adding the --wait option will keep the browser open until you manually stop it.

Making scenarios

Scenario classes should extend Spatie\Selenium\Scenario. There are a few helper methods provided like $this->element($selector) and $this->click($selector); but you can also directly access the Selenium driver via $this->driver.

For more information about the Selenium driver, please visit this repository.

A simple scenario can look like this.

class MyScenario extends Scenario
{
    public function __construct()
    {
        // The website to visit.
        
        parent::__construct('https://mywebsite.com.test');
    }

    public function run()
    {
        // Go to a page
        $this->get('/contact');

        $this->element('input[name=name]')->sendKeys('Brent');
        $this->element('input[name=email]')->sendKeys('[email protected]');
        $this->element('input[name=message']->sendKeys('Test');
        
        $this->submit('form#contact');
    }
}

Scenarios can be run with the execute command, in this case you'd run execute my.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you've found a bug regarding security please mail [email protected] instead of using the issue tracker.

Postcardware

You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.

We publish all received postcards on our company website.

Credits

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].