code: def test_random(self, device, dtype, batch_size):
      s = Se3.random(batch_size=batch_size, device=device, dtype=dtype)
      s_in_s = s.inverse() * s
      i = Se3.identity(
          batch_size=batch_size, device=device, dtype=dtype
      )
      self.assert_close(s_in_s.so3.q.data, i.so3.q.data)
      self.assert_close(s_in_s.t, i.t)
  
imports: import pytest
  import torch
  from kornia.geometry.conversions import euler_from_quaternion, rotation_matrix_to_quaternion
  from kornia.geometry.liegroup import Se3, So3
  from kornia.geometry.quaternion import Quaternion
  from kornia.geometry.vector import Vector3
  from kornia.testing import BaseTester
label_desc: Use image node_id 31 for calling the TestSe3 obj's underlying member method code with example usage: obj.test_random(device, dtype, batch_size) without return types