Protractor: webdriver-manager stdout maxBuffer melebihi

Dibuat pada 7 Mei 2014  ·  3Komentar  ·  Sumber: angular/protractor

Halo semua

Saya menggunakan Protractor dan webdriver-manager memulai dalam satu tugas kasar, karena di ci saya tidak dapat menggunakan 2 terminal windows.

Spesifikasi : Windows 7, node v0.10.26, Protractor 0.22.0, grunt protractor runner (Yang menggunakan Protractor 0.22.0)

Saya menggunakan grunt bersamaan dengan 2 tugas - grunt Shell webdriver-manager start dan busur derajat. Menjalankan tes satu per satu mereka selalu berhasil. Menjalankan semua tes,
tes pertama berhasil, tetapi pada tes ke-4 atau ke-5 gagal dengan pesan ini .....Peringatan: stdout maxBuffer terlampaui. Gunakan --force untuk melanjutkan.
Tampaknya batas buffer perintah spawn terlampaui dan tugas anak keluar.

Saya telah memecahkan masalah ini dengan mengubah perintah spawn webdriver-manager.

di Webdriver-manager saya berubah
kembalikan childProcess.spawn(winCommand, finalArgs,
{ stdio: 'mewarisi' });

ke:
kembalikan childProcess.spawn(winCommand, finalArgs,
{ stdio: 'abaikan' });

Apakah ada solusi lain agar webdriver-manager tidak melebihi buffer, atau dapatkah ini dikonfigurasi? Dapatkah fitur untuk menonaktifkan spawn logging disertakan dalam rilis Protractor yang akan datang.

Komentar yang paling membantu

Maaf untuk respon yang lambat. Saya cukup yakin bahwa kesalahan ini karena grunt Shell menggunakan perintah child_process.exec Node. Ini memungkinkan opsi maxBuffer khusus, yang harus Anda tingkatkan. Anda dapat melakukan ini seperti:

grunt.initConfig({
    shell: {
        foo: {
            command: 'webdriver-manager start',
            options: {
                stderr: false,
                execOptions: {
                    maxBuffer: 400*1024 // or whatever other large value you want
                }
            }
        }
    }
});

Penutupan karena ini adalah masalah kasar.

Semua 3 komentar

Maaf untuk respon yang lambat. Saya merasa ini adalah masalah dengan grunt - semua webdriver-manager lakukan adalah meneruskan output. Saya tidak terlalu akrab dengan bagaimana grunt menangani output, tapi mungkin Anda bisa memberi tahu grunt untuk mengabaikan stdout?

Halo Juli
Tanpa hasil, saya dapat mengabaikan stdout dari proses anak di webdriver-manager. Meskipun dalam output tugas kasar, tidak ada log yang muncul, setelah beberapa pengujian, pesan kesalahan yang sama muncul 'stdout maxBuffer melebihi'. Saya hanya dapat menghindari masalah dengan menjalankan tugas ganti kasar untuk mengubah stdio di manajer webdriver.

Maaf untuk respon yang lambat. Saya cukup yakin bahwa kesalahan ini karena grunt Shell menggunakan perintah child_process.exec Node. Ini memungkinkan opsi maxBuffer khusus, yang harus Anda tingkatkan. Anda dapat melakukan ini seperti:

grunt.initConfig({
    shell: {
        foo: {
            command: 'webdriver-manager start',
            options: {
                stderr: false,
                execOptions: {
                    maxBuffer: 400*1024 // or whatever other large value you want
                }
            }
        }
    }
});

Penutupan karena ini adalah masalah kasar.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat