Hope Tout le monde va bien.Données de l'appareil de charge pour les tests d'acceptation - Codeception
J'ai un problème. J'ai besoin d'avoir mes montages chargés en db avant d'exécuter le test d'acceptation en codception dans mon application Yii2. voici le détail pour cela.
Cible: Charger les appareils dans la base de données pour pouvoir exécuter des tests d'acceptation.
Problème: En dépit de mon un dans la plupart des efforts, je suis encore je suis incapable d'atteindre cet effet
Voici les données que je suis arrivé à partager avec vous:
commun \ modules \ myCustomModule \ Tests \ modèles d'acceptation de \ \ DashboardCest `` `
class ResumeDashboardCest
{
public function _before(AcceptanceTester $I)
{
$I->haveFixtures([
'country' => [
'class' => CountryFixture::className(),
'dataFile' => codecept_data_dir() . 'country_data.php',
],
'region' => [
'class' => RegionFixture::className(),
'dataFile' => codecept_data_dir() . 'region_data.php',
],
'city' => [
'class' => CityFixture::className(),
'dataFile' => codecept_data_dir() . 'city_data.php',
],
'user_group' => [
'class' => UserGroupFixture::className(),
'dataFile' => codecept_data_dir() . 'user_group.php',
],
'user' => [
'class' => UserFixture::className(),
'dataFile' => codecept_data_dir() . 'user.php',
],
'status' => [
'class' => StatusFixture::className(),
'dataFile' => codecept_data_dir() . 'status_data.php',
],
'resume' => [
'class' => ResumeFixture::className(),
'dataFile' => codecept_data_dir() . 'resume_data.php'
],
]);
// initialize the module first
// fill in the login page before performing my main test
$I->amGoingTo("Login in My Application");
$I->amOnPage(Url::toRoute('/site/login'));
$I->fillField('#loginform-username', 'admin');
$I->fillField('#loginform-password', 'gulabmehak');
$I->click('.btn-success'); // The login button
$I->wait(3); // wait for 3 seconds meanwhile bakend processing is complete
$I->dontSee('Incorrect username or password.');
}
// my test function
public function load_HomePage(AcceptanceTester $I)
{
$I->amOnPage(Url::toRoute('/'.\Yii::$app->params['ModuleName'].'/resume/index'));
$I->see(T::t('main', 'My Resumes'));
$I->see(T::t('main', 'My Resumes'), 'ul.breadcrumb li.active');
}
}
Voici le dispositif de comptage ry modules communs \ \ myCustomModule \ Tests \ \ appareils CountryFixture
class CountryFixture extends \yii\test\ActiveFixture
{
public $modelClass = 'common\modules\location\models\Country'; // the model for this belongs to another module
public function beforeLoad() {
parent::beforeLoad();
$this->db->createCommand()->setSql('SET FOREIGN_KEY_CHECKS = 0')->execute();
}
public function afterLoad() {
parent::afterLoad();
$this->db->createCommand()->setSql('SET FOREIGN_KEY_CHECKS = 1')->execute();
}
}
va de même pour le reste des fichiers fixtures mais je les ai éliminé pour la facilité.
Voici les données (données de fixation) Fichier: modules communs \ \ myCustomModule \ Tests \ data \ country_data.php
<?php
return [
[
'name' => 'Pakistan',
'iso' => 'PK',
'status' => 1,
],
[
'name' => 'China',
'iso' => 'CH',
'status' => 1,
],
[
'name' => 'United States of America',
'iso' => 'US',
'status' => 1,
],
[
'name' => 'Saudi Arabia',
'iso' => 'SA',
'status' => 1,
],
[
'name' => 'Japan',
'iso' => 'JP',
'status' => 1,
],
];
pour juste au cas où vous avez besoin de mes configurations: commun \ modules \ myCustomModule \ Tests \ acceptance.suite.yml
class_name: AcceptanceTester
modules:
enabled:
- WebDriver
- Yii2:
part:
[init, orm, fixtures]
config:
db:
populate: false
cleanup: false
WebDriver:
url: 'http://localhost/myProject/'
browser: phantomjs
window_size: 1920x1310
capabilities:
webStorageEnabled: true
Codeception: 2.2.9 version de l'application Yii2 : 2.0.12 composer: 1.4.2 Aussi j'utilise PhantomJs pour tester
S'il vous plaît laissez-moi savoir de toutes questions. Restez béni.
Pour passer à travers d'autres façons, j'ai essayé de charger directement les appareils en utilisant http://www.yiiframework.com/doc-2.0/guide-test-fixtures.html#loading-fixtures mais je n'ai toujours rien obtenu. J'ai commencé un fil à github et jusqu'à maintenant, son d'aucune aide https://github.com/Codeception/Codeception/issues/4099 – ahmednawazbutt
Les modules spécifiques au cadre sont pour une utilisation avec des tests fonctionnels, pas des tests d'acceptation – sunomad
Je veux tester mon les pages Web. Pour cela j'ai besoin d'écrire des tests d'acceptation – ahmednawazbutt